python - Python timeit 计时器 - 启动和停止功能?
问题描述
Python 计时器是否能够测量同一个计时器对象中的多个间隔?我有一个程序可以循环数千个对象并执行多个操作,例如:下载、处理、存储、分析)。我希望能够在执行多次时测量每个单独步骤的累积时间,但是在更大的代码块中执行其他操作。
有没有办法启动然后停止(暂停)计时器,然后重新启动它们以测量更多时间?类似于以下伪代码?
import timeit
download_timer = <create a timer>
processing_timer = <create a timer>
for item_id in big_list_of_items:
download_timer.start()
slow_response = download_data(item_id)
download_timer.pause()
processing_timer.start()
munge_data(slow_response)
processing_timer.pause()
log.debug('Cumulative download time: {} sec'.format(download_timer.elapsed))
log.debug('Cumulative data processing time: {} sec'.format(processing_timer.elapsed))
我目前正在每个循环上创建一个新计时器,然后我必须跟踪添加每个增量的多个变量中的时间。仔细阅读文档,看起来这是最好的选择,没有创建我自己的类来做到这一点,但我希望有人知道一种更简单的方法。
解决方案
推荐阅读
- sql - 如何使用多个主键通过 string_split 连接表?
- npm - (yarn link) 如何获取yarn link的link-folder-path?
- apache-spark - Apache Spark UDF:访问冰山
- kubernetes - 如何在主节点上实际安排 Pod
- angular - Angular Ionic后退按钮仅在我在其上滑动指针后才起作用
- python - Pandas:比较两个布尔系列,如果两者都为真,则输出第三个系列
- javascript - Angular - 具有三元运算符响应的三元运算符
- bash - curl 使用 --netrc-file 选项不起作用,但使用 -d 它可以
- keycloak - 未捕获的 ReferenceError:未定义 Keycloak
- java - 当应用程序在后台 bing 后恢复时,我的 Activity 出现空对象异常