某些机构能帮助我如何查找python中的代码需要多少时间和多少内存?计算python中的代码的计算时间和内存
回答
使用此用于计算时间:
import time
time_start = time.clock()
#run your code
time_elapsed = (time.clock() - time_start)
作为由Python文档引用:
time.clock()
在Unix,返回当前处理器时间点数以秒为单位浮点数 。精确度,实际上“处理器时间”含义的定义取决于具有相同名称的C函数的定义,但在任何情况下,这都是 用于基准测试Python或定时算法的功能。
在Windows上,此函数根据 Win32函数QueryPerformanceCounter()以 作为浮点数第一次调用该函数以来的时间间隔秒数。分辨率通常为 ,优于1微秒。
参考:http://docs.python.org/library/time.html
使用此用于计算存储器:
import resource
resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
这会得到他的时间,但不会使用记忆。 – edhedges 2012-08-09 15:37:02
感谢名单...我使用Windows Python和我觉得你描述的内存计算是Linux? – 2012-08-09 15:51:09
它也适用于Windows。阅读上面的描述。 – 2012-08-09 15:59:57
使用一个内存分析器等孔雀
>>> from guppy import hpy; h=hpy()
>>> h.heap()
Partition of a set of 48477 objects. Total size = 3265516 bytes.
Index Count % Size % Cumulative % Kind (class/dict of class)
0 25773 53 1612820 49 1612820 49 str
1 11699 24 483960 15 2096780 64 tuple
2 174 0 241584 7 2338364 72 dict of module
3 3478 7 222592 7 2560956 78 types.CodeType
4 3296 7 184576 6 2745532 84 function
5 401 1 175112 5 2920644 89 dict of class
6 108 0 81888 3 3002532 92 dict (no owner)
7 114 0 79632 2 3082164 94 dict of type
8 117 0 51336 2 3133500 96 type
9 667 1 24012 1 3157512 97 __builtin__.wrapper_descriptor
<76 more rows. Type e.g. '_.more' to view.>
>>> h.iso(1,[],{})
Partition of a set of 3 objects. Total size = 176 bytes.
Index Count % Size % Cumulative % Kind (class/dict of class)
0 1 33 136 77 136 77 dict (no owner)
1 1 33 28 16 164 93 list
2 1 33 12 7 176 100 int
>>> x=[]
>>> h.iso(x).sp
0: h.Root.i0_modules['__main__'].__dict__['x']
有一个非常好的库叫做jackedCodeTimerPy计时你的代码。然后你应该使用Daniel Li建议的资源包。
jackedCodeTimerPy给像
label min max mean total run count
------- ----------- ----------- ----------- ----------- -----------
imports 0.00283813 0.00283813 0.00283813 0.00283813 1
loop 5.96046e-06 1.50204e-05 6.71864e-06 0.000335932 50
我喜欢它是如何给你就可以了统计和定时器运行次数真的好报告。
它使用简单。如果我想测量时间码进入for循环,我只需执行以下操作:
from jackedCodeTimerPY import JackedTiming
JTimer = JackedTiming()
for i in range(50):
JTimer.start('loop') # 'loop' is the name of the timer
doSomethingHere = 'This is really useful!'
JTimer.stop('loop')
print(JTimer.report()) # prints the timing report
您也可以同时运行多个定时器。
JTimer.start('first timer')
JTimer.start('second timer')
do_something = 'amazing'
JTimer.stop('first timer')
do_something = 'else'
JTimer.stop('second timer')
print(JTimer.report()) # prints the timing report
还有更多的使用示例在回购。希望这可以帮助。
- 1. Python计算器代码
- 2. 有没有办法计算excel计算的成本(时间和内存)?
- 3. 计算的代码
- 4. Python中的区间计算
- 5. 代码来计算在纳秒时间
- 6. python:计算时间进度
- 7. 计算闪存中的已用时间
- 8. 时间计算
- 9. 时间计算
- 10. 计算C中的时间
- 11. LINQ中的时间计算
- 12. 计时器 - 计算时间
- 13. 计算python中的小时和分钟
- 14. 计算时间总和
- 15. 计算时间和结果
- 16. Drupal计算字段 - 计算时间
- 17. Python中,计算计算的状态减慢计算本身
- 18. 计算算法时间
- 19. 计算一段时间内的回报
- 20. PHP计算时间
- 21. 计算时间差
- 22. 计算时间表
- 23. Ruby时间计算
- 24. 计算时间段
- 25. 计算时间差
- 26. 计算的时间差,
- 27. 计算对数算法的时间
- 28. 如何计算一段代码中每行的运行时间
- 29. 计算文本框中值的总时间。我想计算值的时间
- 30. 在Excel中计算时间
见[这个问题](http://stackoverflow.com/questions/897941/python-equivalent-of-phps-memory-get-usage),用于计算所使用的总存储器。 – machow 2012-08-09 15:43:55
我的回答对你有帮助吗? – 2012-10-03 15:57:54
的确是在等待时间。 – 2012-10-04 20:08:13