
书: https://pan.baidu.com/s/1hMg-9fMkkzntAfHoLymQMA?pwd=2tx9
笔记如下:
- 性能分析基础
- 使用cProfile和timeit模块进行代码性能分析
- 通过
%timeit
魔法命令(IPython/Jupyter)快速测量执行时间 - 火焰图生成工具(py-spy)可视化性能瓶颈
- NumPy向量化计算
- 避免Python循环,使用NumPy广播机制
- 内存布局优化(C顺序 vs Fortran顺序)
- 通用函数(ufunc)的并行化应用
- Pandas性能优化
- 避免逐行操作,使用
apply()
替代循环 - 分类数据类型(category)减少内存占用
- 使用
eval()
和query()
加速链式运算
- 编译加速技术
- Numba的
@jit
装饰器实现即时编译 - Cython类型声明(
cdef
)提升关键代码段 - PyPy解释器的适用场景分析
- 并行计算模式
- multiprocessing.Pool实现数据并行
- joblib库简化并行任务调度
- Dask处理超出内存的大型数据集
- GPU加速方案
- CuPy实现NumPy接口的GPU计算
- Numba的
@vectorize
生成CUDA内核 - TensorFlow/PyTorch的GPU自动微分
- 内存优化策略
__slots__
减少对象内存开销- 内存视图(memoryview)实现零拷贝
- 生成器替代列表处理大数据流
- 异步IO优化
- asyncio事件循环性能调优
- uvloop替代标准事件循环
- 异步HTTP客户端(aiohttp)实践
- 算法优化技巧
- 查找优化:字典替代线性搜索
- 缓存策略:functools.lru_cache
- 算法复杂度可视化分析
- C扩展开发
- CFFI实现Python与C的无缝交互
- PyBind11创建高性能C++扩展
- 使用Cython包装C/C++库
- 分布式计算
- Ray框架实现分布式任务
- Dask分布式集群部署
- PySpark大数据处理
- 性能设计模式
- 享元模式减少对象创建
- 对象池复用技术
- 惰性计算实现策略
- 字符串处理优化
- 字符串构建器模式(join代替+=)
- 字节串(bytes)处理二进制数据
- 正则表达式预编译
- 文件IO加速
- 内存映射文件(mmap)处理大文件
- 异步文件读写(aiofiles)
- HDF5格式高效存储数值数据
- 网络性能优化
- 连接池管理技术
- 消息序列化(Protocol Buffers)
- ZeroMQ高性能消息队列
- 科学计算加速
- SciPy稀疏矩阵优化
- BLAS/LAPACK后端选择
- 多进程并行化数值积分
- 可视化性能分析
- SnakeViz生成调用图
- Py-Spy实时采样分析
- Memory Profiler内存使用跟踪
- JIT编译进阶
- Numba的
@guvectorize
应用 - 类型推断失败处理方案
- CPU/GPU目标代码生成
- 嵌入式优化
- MicroPython资源受限优化
- 使用Cython生成嵌入式模块
- 热路径(hot path)代码重构
- 持续性能维护
- 性能回归测试框架
- 监控装饰器实现运行时跟踪
- 性能基准测试套件构建