timer

来源:互联网 发布:mac推出硬盘快捷键 编辑:程序博客网 时间:2024/05/16 02:08

Faster R-CNN中提供了一个很好用的python下计时工具,用于分析模型运行速度的评估。

import timeclass Timer(object):    """A simple timer."""    def __init__(self):        self.total_time = 0.        self.calls = 0        self.start_time = 0.        self.diff = 0.        self.average_time = 0.    def tic(self):        # using time.time instead of time.clock because time time.clock        # does not normalize for multithreading        self.start_time = time.time()    def toc(self, average=True):        self.diff = time.time() - self.start_time        self.total_time += self.diff        self.calls += 1        self.average_time = self.total_time / self.calls        if average:            return self.average_time        else:            return self.diff

使用时

import Timertimer = Timer()timer.tic() # 单次开始计时...timer.toc() # 结束本次计时,返回值可以为多次的平均时间, 也可以为此次时间差toc(average=False)

注意:

计算机系统存在两个时间:CPU时间time.clock(),挂钟时间time.time()

  • CPU时间>挂钟时间: 计算密集型任务,通过优化程序并发可以获得更好的效果,包含CPU内核调度时间(sys)和CPU计算时间(user)
  • 挂钟时间≈CPU时间: IO密集型任务,不能通过并发改进性能,

具体使用参考: Python程序计时