写一手漂亮的代码,走向极致的编程 二、代码运行时内存分析
前言 上篇 文章 中介绍了如何对代码性能进行分析优化,这篇文章将介绍如何对代码运行时内存进行分析。 说到内存,就想起之前在搞数据挖掘竞赛的时候,往往要跑很大的数据集,经常就是炸内存。当时的解决办法就是对着任务管理器用 jupyter notebook 分 cell 的跑代码,将需要耗费大量内存的代码块找出来,然后考虑各种方式进行优化。 这篇文章将会介绍些更好的方法,来对代码运行时内存进行分析,通过这些方法了解了代码的内存使用情况之后,我们可以思考: 能不能重写这个函数让它使用更少的 RAM 来工作得更有效率 我们能不能使用更多的 RAM 缓存来节省 CPU 时间 开始分析 代码仍采用上篇文章中的 memory_profiler 通过 pip install memory_profiler 来安装这个库。在需要进行分析的函数前加上修饰器 @profile from memory_profiler import profile ... ... @profile def calculate_z_serial_purepython(maxiter, zs, cs): ... @profile def calc_pure_python(desired_width, max_itertions): ... ... 然后命令行输入 python -m memory_profiler code