猿问

测量 Python 和 Java 实现之间的性能差异?

我想比较同一算法的两种不同实现(Python 和 Java)的性能。我在终端上运行脚本(使用 Ubuntu 18),如下所示:

time script_name

我不确定这是多么准确。是否可以提高此基准测试的准确性?也许有一种方法可以消除 Python 或 Java 中的任何限制或设置?


当年话下
浏览 141回答 2
2回答

慕姐4208626

如本答案所述,使用time以下命令对程序进行基准测试的正确方法是:&nbsp;sudo chrt -f 99 /usr/bin/time --verbose <benchmark>.&nbsp;但是,请注意,只有当算法至少需要一秒钟才能执行时,这才是准确的,否则exec调用可能会占用基准测试的很大一部分。这个答案建议perf stat改用,例如:&nbsp;perf stat -r 10 -d <your app and arguments>.

12345678_0001

time对于大多数测试来说,命令的准确性可能很好。但是,如果您愿意,您可以编写第二个 Python 脚本用于计时import subprocess,然后使用该subprocess.call()函数(或subprocess模块中的几个相关函数之一)运行该算法的两个版本。你的时间脚本还可以import time,然后做datetime.datetime.now().time()之前和算法运行后,显示过了多少时间。
随时随地看视频慕课网APP

相关分类

Java
我要回答