Python性能优化方案
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=[...]
)
]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?