【Python】性能优化之Pythonic风格化代码

所谓Pythonic 指的是非常具有python风格往往也是比较高效、前人性能优化过的书写方式。除了积累和多读源码以外并没有很好的方式锻炼这部分的水平。

常见Tips

以下涉及到一些最常用的代码片段Pythonic的方式记录。
()中表示加速比。

  1. join 比 +=好(33.1)

  2. 解析式迭代器比append好(2.3)

  3. while 1 > while true (1.6)

  4. ** 好于pow (6.8)

  5. set > list

  6. key> list

  7. 使用内置数据类型

  8. 使用局部变量

  9. 不访问属性

让关键代码依赖于外部包

虽然Python让许多编程任务变得容易,但它可能并不总能为紧急的任务提供最佳性能。你可以为紧急的任务使用C、C++或机器语言编写的外部包,这样可以提高应用程序的性能。这些包都是不能跨平台的,这意味着你需要根据你正在使用的平台,寻找合适的包。简而言之,这个方案放弃了一些应用程序的可移植性,以换取只有在特定主机上直接编程才能获得的程序性能。这里有一些你应该考虑加入到你的“性能兵工厂”的包:

  • Cython

  • PyInlne

  • PyPy

  • Pyrex

这些包以不同的方式提高性能。例如,Pyrex能够扩展Python所能做的事情,例如使用C的数据类型来让内存任务更加有效或直接。PyInIne让你在Python应用程序中直接使用C代码。程序中的内联代码单独编译,但它在利用C语言所能提供的效率的同时,也让所有的代码都在同一个地方。

numba看一下:[Python技巧]如何加快循环操作和Numpy数组运算速度 - IT程序猿

numpy 矩阵优化

https://www.liangye.site/2018/05/10/efficient-numpy/

未完待续

Reference

  1. Python 代码性能优化技巧

  2. Python性能加速方法

  3. 《改善Python程序的91个建议》

  4. 雷锋网博客:如何让你的Python程序快如闪电

你可能感兴趣的:(【Python】性能优化之Pythonic风格化代码)