python中用于测量运行时间的高精度计数器
hwcounter的Python项目详细描述
#hwcounter
用于测量python中经过的时间的高精度计数器。
执行
时间。
模块公开三个主要对象。两个是普通函数,
“count”和“count_end”,它们返回
时间戳计数器的当前值。它们可以一起用于手动跟踪定时测量的开始和结束。第三种是“timer”类型,
将用作上下文管理器,将代码块包装成
可测量。
使用“timer”包装代码块比使用“count”和“count”end手动包装代码块要好。这是为了方便起见,因为它会影响调用底层测量指令的开销。
适用于定时测量的结束。< BR> > BR/>‘定时器’BR/>< BR/>类,实现上下文管理协议。
α>‘定时器。循环’< BR/>< BR/> >“循环”属性填充在定时器上下文管理器退出时的循环时间,
。
BR/>示例用法
‘Python’BR/>它hwcounter导入计时器,计数,计数结束
from time import sleep
from math import sqrt
1。手动计算两点之间经过的周期
sqrt(144)/12
elapsed=count棼end()-start
print(f'elapsed cycles:{elapsed}')
elapsed cycles:36486
2。使用timer对象作为上下文管理器包装代码块并测量其计时
,timer()为t:
sleep(1)
print(f'elapsed cycles:{t.cycles}')
注意,在上面的示例中,睡眠1秒产生29亿个周期计数。
换句话说,调用机器指令所需的周期数将自动从已用周期计数中减去。
此库返回处理器时钟周期中的测量值。对于
基准测试程序和比较
代码执行时间的变化,这种方法是充分和可靠的。如果需要以秒为单位的运行时间,则需要从
时钟周期进行转换:将周期计数除以处理器的
时钟速度(以赫兹为单位)。此转换不在此
模块的范围内。
仅限python 3。
用于测量python中经过的时间的高精度计数器。
执行
时间。
模块公开三个主要对象。两个是普通函数,
“count”和“count_end”,它们返回
时间戳计数器的当前值。它们可以一起用于手动跟踪定时测量的开始和结束。第三种是“timer”类型,
将用作上下文管理器,将代码块包装成
可测量。
使用“timer”包装代码块比使用“count”和“count”end手动包装代码块要好。这是为了方便起见,因为它会影响调用底层测量指令的开销。
适用于定时测量的结束。< BR> > BR/>‘定时器’BR/>< BR/>类,实现上下文管理协议。
α>‘定时器。循环’< BR/>< BR/> >“循环”属性填充在定时器上下文管理器退出时的循环时间,
。
BR/>示例用法
‘Python’BR/>它hwcounter导入计时器,计数,计数结束
from time import sleep
from math import sqrt
1。手动计算两点之间经过的周期
elapsed=count棼end()-start
print(f'elapsed cycles:{elapsed}')
elapsed cycles:36486
2。使用timer对象作为上下文管理器包装代码块并测量其计时
,timer()为t:
sleep(1)
print(f'elapsed cycles:{t.cycles}')
注意,在上面的示例中,睡眠1秒产生29亿个周期计数。
换句话说,调用机器指令所需的周期数将自动从已用周期计数中减去。
此库返回处理器时钟周期中的测量值。对于
基准测试程序和比较
代码执行时间的变化,这种方法是充分和可靠的。如果需要以秒为单位的运行时间,则需要从
时钟周期进行转换:将周期计数除以处理器的
时钟速度(以赫兹为单位)。此转换不在此
模块的范围内。
仅限python 3。