Chinaunix首页 | 论坛 | 博客
  • 博客访问: 455545
  • 博文数量: 101
  • 博客积分: 1547
  • 博客等级: 上尉
  • 技术积分: 1072
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-12 23:46
个人简介

music,code,dialog,rest

文章分类

全部博文(101)

文章存档

2023年(8)

2022年(25)

2021年(6)

2020年(2)

2019年(6)

2018年(4)

2017年(5)

2016年(20)

2015年(4)

2014年(2)

2013年(1)

2012年(1)

2011年(1)

2010年(1)

2009年(2)

2007年(10)

2006年(3)

分类: Python/Ruby

2023-09-03 09:15:46

rally 开源代码中的一个精妙代码执行计时器,贴在这里备忘。

点击(此处)折叠或打开

  1. # usage
  2. with Timer() as timer:
  3.    # Code to time

  4. print(timer.duration())

点击(此处)折叠或打开

  1. class Timer(object):
  2.     """Timer based on context manager interface."""

  3.     def __enter__(self):
  4.         self.error = None
  5.         self.start = time.time()
  6.         return self

  7.     def timestamp(self):
  8.         return self.start

  9.     def finish_timestamp(self):
  10.         return self.finish

  11.     def __exit__(self, type, value, tb):
  12.         self.finish = time.time()
  13.         if type:
  14.             self.error = (type, value, tb)

  15.     def duration(self, fmt=False):
  16.         duration = self.finish - self.start
  17.         if not fmt:
  18.             return duration
  19.         if duration > 60:
  20.             return "%.2f min" % (duration / 60)
  21.         if duration > 0.1:
  22.             return "%.2f sec" % duration
  23.         return "%.2f msec" % (duration * 1000)

zenith
2023-09-03


阅读(243) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~