指示运行时期间的进度,同时跟踪用户定义的任务所用的时间。
TaskTimer的Python项目详细描述
指示运行时期间的进度,同时跟踪用户定义的任务所用的时间。虽然不是一个很好的进度条,也不是一个很好的分析器,但是我个人发现它非常方便,特别是在处理计算密集型程序时。
考虑这个简单的虚拟程序:
from tasktimer import TaskTimer from time import sleep timer = TaskTimer() for n in timer.range(40): timer.task('Assembling load vector (b)') sleep(0.1) # Dummy timer.task('Solving linear system Au=b') sleep(0.5) # Dummy print(timer)
task()方法用于指示从现在起程序正在处理另一个任务。TaskTimer将指示进度,并显示当前任务,例如:
Step 11/40 (28%). 17.5s of 24.1s remaining. Assembling load vector (b)
所有任务完成后,print(timer)可用于打印任务的统计信息:
# Mean StDev Total % Assembling load vector (b) 40 101ms 89.2us 4.02s 17 Solving linear system Au=b 40 501ms 140us 20.0s 83 Total 24.1s 100
比这里演示的更多的选项是可用的,并且该功能在docstrings中有大量的文档记录。例如,自定义进度字符串(请参见TaskTimer),使用iterate()方法在常规iterable上迭代,对统计数据进行排序(请参见summary()方法)。单个任务的时间跟踪由Timer类执行,该类也可以单独使用。
安装
使用pip:从pypi安装
pip install TaskTimer
或者下载github存储库https://github.com/sigvaldm/TaskTimer.git并运行:
python setup.py install