繁体   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