首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用不同的语言度量执行时间

问用不同的语言度量执行时间
EN

Stack Overflow用户
提问于 2021-04-28 20:43:32
回答 1查看 196关注 0票数 1

我正在做一个项目,目的是比较不同语言的排序算法。我的比较将分为两类:

  1. 基于日历时间的比较
  2. 基于处理器时间的比较

我想知道,是否可以比较这些方法/功能/过程:

基于日历时间的比较

  1. Java - System.nanoTime()然后在millisec上的时间差/1000000
  2. Python - time.time()然后时间差*1000
  3. 然后C- gettimeofday() totalTime = (end.tv_sec - start.tv_sec) * 1e6;totalTime = (totalTime + (end.tv_usec - start.tv_usec)) * 1e-3;
  4. Pascal -now,然后使用MilliSecondsBetween()实现时差

基于处理器时间的比较

  1. Java - getThreadCpuTime()然后时间差
  2. Python-thread_time()然后时间差
  3. C- clock()然后时间差
  4. 帕斯卡- getTickCount64然后时差//我不确定这一点,你能给建议吗?
EN

回答 1

Stack Overflow用户

发布于 2021-04-28 21:55:18

我会用外部工具来采取这样的措施。必须记住,性能度量是一个棘手的领域,您必须确保每个实现的环境条件和输入相等。

不仅如此:

  • C程序的性能可能因正在使用的编译器和编译器标志而有所不同。
  • python程序的性能将取决于解释器实现Cython或Jython等等。
  • java实现有多个-- OpenJDK、Oracle等等。

要比较不同语言之间算法实现的性能是非常困难的,因为有太多的因素。

作为一种度量工具,您可以从linux time命令开始:

代码语言:javascript
复制
time java_program
# some output
real    0m20.608s
user    0m0.007s
sys 0m0.000s

time c_program
# some output
real    0m20.608s
user    0m0.007s
sys 0m0.000s
...

关于时间命令的更多信息

对于windows,有一个powershell cmd-let Measure-Command,更多。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67307636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档