- 主题:请教如何精确测量某一段代码的耗时?
我开始用for循环,比如循环1万次或者100万次,然后算出单次的时间。
后来for循环里啥也不写,耗时也不少。
感觉有点像量子力学了,只要测量必然改变结果?
--
FROM 114.247.188.*
你要考虑编译器优化
【 在 xueyandy (xueyandy) 的大作中提到: 】
: 我开始用for循环,比如循环1万次或者100万次,然后算出单次的时间。
: 后来for循环里啥也不写,耗时也不少。
: 感觉有点像量子力学了,只要测量必然改变结果?
: ...................
--
FROM 27.91.71.*
翻看汇编代码,查找编译器指令,算出要跑多少个指令,然后看时钟频率是多少
--
FROM 113.109.20.*
好的,谢谢!
【 在 xiaoju 的大作中提到: 】
: 你要考虑编译器优化
:
: 【 在 xueyandy (xueyandy) 的大作中提到: 】
: ....................
- 来自「最水木 for iPhone13,2」
--
FROM 36.112.178.*
有ld/st的话,还有cache、memory时间,这个难以精确估计。
【 在 zerg136 的大作中提到: 】
: 翻看汇编代码,查找编译器指令,算出要跑多少个指令,然后看时钟频率是多少
--
FROM 198.11.178.*
好的,我试试,谢谢!
【 在 zerg136 的大作中提到: 】
: 翻看汇编代码,查找编译器指令,算出要跑多少个指令,然后看时钟频率是多少
- 来自「最水木 for iPhone13,2」
--
FROM 36.112.178.*
看你需要多精确了。
我一般弄个计时器,开始和结束输出时间。确实每次会差一点,不过和当前机器上运行的其他程序也有关。
如果要很精确,可能只有看指令集数时钟周期了,而且还不能用睿频。
【 在 xueyandy 的大作中提到: 】
: 我开始用for循环,比如循环1万次或者100万次,然后算出单次的时间。
: 后来for循环里啥也不写,耗时也不少。
: 感觉有点像量子力学了,只要测量必然改变结果?
--
FROM 27.154.192.*
得用嵌入式如DSP才测得准
x86平台测得不准
【 在 xueyandy 的大作中提到: 】
: 我开始用for循环,比如循环1万次或者100万次,然后算出单次的时间。
: 后来for循环里啥也不写,耗时也不少。
: 感觉有点像量子力学了,只要测量必然改变结果?
--
FROM 1.119.140.*
【 在 zerg136 的大作中提到: 】
: 翻看汇编代码,查找编译器指令,算出要跑多少个指令,然后看时钟频率是多少
这也不靠谱,因为指令是有并行的
--
FROM 111.206.145.*
你们都想多了吧,lz代码估计跑在用户态上,被os随便撸
【 在 leslin 的大作中提到: 】
:
: 这也不靠谱,因为指令是有并行的
:
--
FROM 213.95.148.*