![]() |
1
2
请注意,它还取决于您想要实现的具体目标:您关心程序由于被系统调度程序抢占而等待的时间吗?上面所有的解决方案都考虑了实际运行的时间,但这也涉及到其他进程运行的时间,而不是您自己运行的时间。 如果你不关心这个,上面所有的解决方案都是好的。如果您真的关心,您可能需要一些分析软件来实际查看循环需要多长时间。
我将从一个只做循环的程序开始,(至少在Linux环境中)做
然后我会调查是否有像这样工作的工具
|
![]() |
2
5
虽然已经给出了C++的答案,但它从你的描述(“你”不想测量循环内的任何东西)看出来,就像你在试图测量一个程序在一个空循环上迭代的时间一样。 请注意:这不仅需要不同平台和处理器的不同时间,而且许多编译器将优化此类循环,有效地将任何循环大小的答案呈现为“0”。 |
![]() |
3
2
JavaScript
|
![]() |
4
2
在python中正确的方法是从命令行运行timeit:
|
![]() |
5
1
PHP中不需要任何额外内容的其他版本:
|
![]() |
6
1
对于编译语言如C和C++,请确保编译器标志被设置为使得循环没有被优化。打开优化后,我希望大多数编译器能够检测到循环中没有发生任何事情,并将其优化掉。 |
![]() |
7
1
如果您使用的是python,那么可以使用专门为计时而构建的模块。这叫时间。 以下是我找到的一些参考资料(只是在谷歌上搜索): 下面是一些让您快速入门的示例代码:
|
![]() |
8
0
在PHP中: code timer )
|
![]() |
9
0
我以前也问过同样的问题 specifically for the c++ language . 以下是我最后使用的答案:
|
![]() |
10
0
在空循环中,结果是没有意义的,正弦大多数编译器会在运行时之前的编译时对其进行优化。 为了比较语言的速度,您需要一个真正的算法,比如“合并排序”、“二进制搜索”或者“dijkstra”,如果您想要复杂的东西的话。 在所有语言中实现相同的算法,然后进行比较。 这里是生物信息学算法的基准。 link text 检查结果页 |
![]() |
11
0
重点:只需获得当前时间
之前
做某事(这是
开始时间
)得到当前时间
之后
做某事(这是
结束时间
)然后做小学数学,得到经过的时间。每个API都提供获取当前时间的方法。以Java为例
但是 特别是在Java中,经过的时间并不总是那么可靠。可能存在细微的差异,这也很大程度上取决于 怎样 你做测试。我见过这样的情况,在test2()中比test1()更快,因为它执行得稍晚,而且 更慢的 当您将执行重新排列到test2(),然后是test1()时。 最后,微观优化是万恶之源。 |
![]() |
12
0
对于Java,两者都
Apache Commons Lang
以及
Spring Framework
有
|