Python性能优化方案
- 从编码方面入手,代码算法优化,如多重条件判断有限判断先决条件(可看 《改进python的91个建议》)
- 使用Cython (核心算法, 对性能要求较大的建议使用Cython编写) 是python & c++的结合, 性能有数量级的提升
- 使用ast抽象语法树 根据python CAPI扩展, 编写c++ python加载器 (即使用加载器将python 代码转为c++执行) 如开源模块 py2c
推荐使用Cython进行核心算法的编写
注: cython 编译环境,需要vc++14.0
需要安装visual studio 17以上版本
- 安装cython: pip install cython
- 编写.py或者.pyx文件 .pyx文件可用python语法和Cython语法建议使用Cython语法
- 编译.pyx 文件为.pyd文件(二进制文件) 也是一种python代码加密方案
- 执行编译 python setup.py build_ext --inplace # 编译命令
cython优化案例
文档记录
cython 中文文档
python/C API Reference Manual
extension option 说明
- py_limited_api 使用受限API 官方说明
链接其他库格式
from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize
extension = [
Extension(
name='',
sources='',
include_dirs=[...],
libraries=[...],
library_dirs=[...]
)
]