测试Python代码运行时间和占用内存的方法

文章基于Jupyter Notebook为环境,进行了Python代码运行时间和内存占用的测试

Python 代码运行时间测试

Windows环境和Linux下

代码运行时间测试可以分为单行代码运行时间测试多行代码(Jupyter中的单元格)运行时间测试两种。

  1. 单行代码运行时间测试
    %timeit命令
    测试Python代码运行时间和占用内存的方法_第1张图片

参数:
-n 每次循环执行多少次代码
-r 共循环几次
-o输出结果

可以看到,执行np.linspace(0,100,100)这行代码花费89.7us,1*100次执行的标准差为0ns
注意:执行次数越多,测试所得的时间越精确。
2. 多行代码(代码块)运行时间测试
%%timeit命令
测试Python代码运行时间和占用内存的方法_第2张图片

可以看到,执行In[6]代码块花费1.12ms,7*1000次执行的标准差为178us

Python 代码运行占用内存测试

Windows环境下

  1. 在Jupyter Notebook的单元格中运行!pip install memory_profiler

  2. 在下一个单元格中运行 !pip install psutil

  3. 安装好两个包后,打开Anaconda Prompt,执行activate 环境名到自己的Jupyter 环境下(如果不确定自己有哪些环境的话,可以执行conda env list查看)
    在这里插入图片描述

  4. 在Anaconda Prompt下执行E:,进入E盘(可以进入自己建立的环境),然后在E盘新建一个文件夹,例如我这里名字为testmemory
    在这里插入图片描述

  5. 继续在Anaconda Prompt下执行cd testmemory进入改该路径下
    在这里插入图片描述

  6. 在该路径下新建一个记事本文件,在其中写入整个Python代码,将要测试内存的代码放在my_func()函数内

import numpy as np
from scipy import signal,fft
from scipy.io import wavfile
@profile
def my_func():
   np.linspace(0,100,100)
if name == ‘main’:
   my_func()

然后保存记事本,名字为memorytest.py(需要将后缀改为.py
7. 在Anaconda Prompt下执行python -m memory_profiler memorytest.py,就可以看到运行内存了
测试Python代码运行时间和占用内存的方法_第3张图片

Linux环境下

将Anaconda Prompt执行命令改为终端下执行即可

你可能感兴趣的:(毕业设计,jupyter,python)