2
A
回答
3
看看cProfile。下面是一個使用示例:
[email protected]:~ $ cat foo.py
def double(i):
return i * 2
def halve(i):
return i/2.0
for i in range(10000):
double(i)
halve(i)
[email protected]:~ $ python -m cProfile foo.py
20005 function calls in 0.009 CPU seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 0.009 0.009 <string>:1(<module>)
1 0.006 0.006 0.009 0.009 foo.py:1(<module>)
10000 0.001 0.000 0.001 0.000 foo.py:1(double)
10000 0.002 0.000 0.002 0.000 foo.py:4(halve)
1 0.000 0.000 0.009 0.009 {execfile}
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
1 0.000 0.000 0.000 0.000 {range}
一個很好的內存設置,如在由Sven Marnach聯繫到帖子中提到,是Heapy
5
Python有一個built-in profiler
有various memory profilers爲Python
0
我經常使用Ipython來剖析我的代碼。執行腳本用魔術命令「%運行」這樣的(一個IPython的提示內側):
%run -p your_python_script.py
運行的Python分析器模塊的控制下,該程序。
你甚至可以在配置文件聲明(如函數調用)與「%PRUN」魔術:
%prun a_python_statement
是什麼樣%PRUN不錯,就是它的上下文中執行該語句的當前會話(即,您可以使用您之前定義的變量以及當前名稱空間中的任何其他變量)。
如果你想獲得每行分析信息,我發現line_profiler模塊非常方便。它有點老了,但它的工作......正如Robert Kern所編寫的東西所預期的那樣;-)。
相關問題
- 1. 是否有可用於ColdFusion的可靠靜態代碼分析工具?
- 2. 用於分析OCaml代碼的工具
- 3. 動態代碼分析工具和動態測試工具是否有區別?
- 4. C++代碼分析工具
- 5. 代碼分析工具4
- 6. VBA代碼分析工具
- 7. 是否有任何工具可以執行Scala代碼的靜態分析?
- 8. 帶分析小工具的分層設計 - 此代碼是否有氣味?
- 9. 代碼使用分析工具
- 10. 靜態代碼分析與動態代碼分析工具?
- 11. 是否有用於數據可視化和分析的命令行工具?
- 12. 是否有任何工具用於自動維護css代碼
- 13. 是否有用於Windows Workflow 4.0的任何代碼covergae工具?
- 14. Python是否有很好的依賴分析工具?
- 15. 是否有工具可以爲Python 2 x做ast 2 python源代碼?
- 16. 是否有可能使用SonarQube爲python執行靜態代碼分析?
- 17. 是否有可用於集成SQL代碼和Subversion版本的工具/技術?
- 18. Intersystems Cache對象腳本是否有任何代碼覆蓋分析工具?
- 19. 在打字稿中是否有任何好的靜態代碼分析工具?
- 20. 開源靜態代碼分析工具,用於C++
- 21. 用於代碼依賴關係的Javascript分析工具
- 22. 是否有任何類圖生成工具的Python源代碼?
- 23. 是否有自動格式化Python代碼的工具?
- 24. 分析Java源代碼的工具
- 25. 靜態代碼分析工具jython
- 26. SSIS的靜態代碼分析工具
- 27. visual studio代碼分析/度量工具
- 28. 工具來分析代碼的語法
- 29. 代碼增量靜態分析工具?
- 30. 靜態代碼分析工具
這些類型的工具通常被稱爲分析器。 – icktoofay 2011-06-05 23:12:53