1. line_profiler——分析每行耗时(性能)
line_profiler是一款分析python的CPU密集型性能问题的强大工具,可以对函数进行逐行分析。
安装
pip install line-profiler
测试代码
在需要的分析的函数定义前加上 @profile 即可。不过需要注意的是,加上之后,编辑器会提示错误,也无法直接执行代码了,只能使用 kernprof -l -v xxx.py 的方式来执行,所以得,分析时加上并在分析后去掉。
# coding=utf-8
import time
class T:
@profile
def slow_function(self):
time.sleep(0.01)
@profile
def main():
l = [i for i in range(10000)]
s = set(l)
for _ in range(100):
t = T()
t.slow_function()
if __name__ == '__main__':
main()
进行分析
在命令行中,使用 kernprof -l -v xxx.py 的方式来执行即可。
D:\test>kernprof -l -v test.py
Wrote profile results to test.py.lprof
Timer unit: 1e-06 s
Total time: 1.04845 s
File: test.py
Function: slow_function at line 6
Line # Hits Time Per Hit % Time Line Contents
==============================================================
6 @profile
7 def slow_function(self):
8 100 1048446.5 10484.5 100.0 time.sleep(0.01)
Total time: 1.05328 s
File: test.py
Function: main at line 10
Line # Hits Time Per Hit % Time Line Contents
==============================================================
10 @profile
11 def main():
12 1 1379.8 1379.8 0.1 l = [i for i in range(10000)]
13 1 478.6 478.6 0.0 s = set(l)
14 101 514.1 5.1 0.0 for _ in range(100):
15 100 398.4 4.0 0.0 t = T()
16 100 1050508.3 10505.1 99.7 t.slow_function()
2. PyInstaller——将python程序打包成EXE可执行
PyInstaller是从 Python 脚本中生成独立的可执行文件的工具。它安装方便,使用简单,如果要用python写工具程序,是一个必备工具。
安装
pip install pyinstaller
进行打包
pyinstaller -F --icon=my_icon.ico test.py
网友评论