思路
什么是 profiler
profiler 的 Hello World
给 Flask App 做 profiler
什么是 profiler
就是性能分析器啊。
profiler ['prəufailə]
Word Explanation:
* n. 分析器,分析工具;仿形铣床;[测] 断面仪
另外的一个单词是 profiling,就是性能分析的意思。用多种的技术来实现分析代码的运行性能。这样的技术很早就有了,被用来测试新的硬件平台、编译器、代码效率……
Hello Python Profiler
$ brew install graphviz
$ pip install gprof2dot
$ cat hello_profiler2.py
def profiler(s):
for x in range(10000):
for c in ' profiler ':
s += c
return s
def hello():
s = 'hello'
s = profiler(s)
print s
if __name__ == '__main__':
hello()
$ python -m cProfile -o hello_profiler2.pstats hello_profiler2.py
$ gprof2dot -f pstats hello_profiler2.pstats | dot -Tpng -o output.png
参考
这个里有很多有用的资源 performance - How can you profile a Python script? - Stack Overflow
Python Wiki PythonSpeed/PerformanceTips - Python Wiki
Python Doc 26.4. The Python Profilers — Python 2.7.11 documentation
Profiling Python Like a Boss - The Zapier Engineering Blog - Zapier
PyCharm 的 Profiler
WSGI Profiler
#!flask/bin/python
from werkzeug.contrib.profiler import ProfilerMiddleware
from app import app
app.config['PROFILE'] = True
app.wsgi_app = ProfilerMiddleware(app.wsgi_app, restrictions=[30])
app.run(debug = True)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。