dpi*_*h40 5 python optimization profiling
我正在尝试使用hotshot优化一些代码,我希望它很好,因为它是高性能的分析器和所有.但由于某种原因,我得到了非常不准确的结果.在我最近的分析运行中,hotshot报告了我称之为7.946秒的顶级函数的累积时间.但是,如果没有计时,我可以告诉它需要更长的时间.使用time.time()自己定时运行时间给我一个42.465秒的运行时间.我猜这是因为hotshot不计算系统IO时间或其他什么,我的程序是批量处理大量的二进制文件?
但是,使用更多time.time()块我将大部分额外时间使用(hotshot未注意到)缩小到不执行任何IO的较低级别处理功能.hotshot报告该功能的总时间和累计时间分别为4.414和6.185秒.但是,再次使用time.time()语句我发现它的累积时间超过30秒.在一个相对简单的代码块中花费的累积时间是7.32秒,比在整个函数中花费的热点更长.该块看起来像这样:
format = element[1]
if isinstance(format, tuple):
format, operator, operand = format
else:
operator, operand = (None, None)
Run Code Online (Sandbox Code Playgroud)
而已.这个区块运行了900多万次,所以也许我不应该感到惊讶的是花了这么多时间.但显然没有IO在这里完成.为什么热点如此低估了这个功能(以及整个程序)的时间?
在你问之前,不,我没有使用多线程或类似的东西.
| 归档时间: |
|
| 查看次数: |
1023 次 |
| 最近记录: |