簡體   English   中英

測量 Python 和 Java 實現之間的性能差異?

[英]Measuring performance difference between Python and Java implementations?

我想比較同一算法的兩種不同實現(Python 和 Java)的性能。 我在終端上運行腳本(使用 Ubuntu 18),如下所示:

time script_name

我不確定這是多么准確。 是否可以提高此基准測試的准確性? 也許有一種方法可以消除 Python 或 Java 中的任何限制或設置?

對於大多數測試來說, time命令的准確性可能很好。

但是,如果您願意,您可以編寫第二個 Python 腳本,用於使用import subprocess計時,然后使用subprocess.call()函數(或subprocess模塊中的幾個相關函數之一)來運行算法的兩個版本。

您的計時腳本也可以import time ,然后在算法運行前后執行datetime.datetime.now().time()以顯示經過了多少時間。

本答案所述,使用time對程序進行基准測試的正確方法是以下命令: sudo chrt -f 99 /usr/bin/time --verbose <benchmark> 但是,請注意,只有當算法至少需要一秒鍾才能執行時,這才是准確的,否則exec調用可能會占用基准測試的很大一部分。

此答案建議改用perf stat ,例如: perf stat -r 10 -d <your app and arguments>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM