在Python中读取rdtsc
有没有办法在Python中读取x86 CPU上的时间戳计数器?
我知道使用 rdtscp
是不好的,而使用 rdtsc
更糟。但相信我,我真的需要这个值,或者至少是这个值的某种近似。
有什么想法吗?
1 个回答
3
在普通的Python中,time.clock() 是你能得到的最准确的计时工具。
time.clock()
在Unix系统上,这个函数会返回当前处理器的时间,以浮点数的形式表示,单位是秒。它的精确度,以及“处理器时间”的具体定义,取决于同名的C语言函数。不过无论如何,这个函数是用来测试Python性能或计时算法的最佳选择。
在Windows系统上,这个函数返回的是自第一次调用该函数以来经过的实际时间,单位也是浮点数,基于Win32的QueryPerformanceCounter()函数。通常情况下,它的精度可以达到微秒级别。
如果你真的想要获取处理器的时间刻度,只需记住执行这个Python调用所需的时间就可以了——所以Python并不是进行微秒级时间测量的合适语言。