TOC

常见的 Python 性能提升手段

Python 本身的性能现在还很有待提升,但是为什么没有阻碍它的推广呢?

因为 Python 常常被当作是一种胶水语言,它有很好的与 C 互操作性,一直维护与 C 库对接的 API,也就是说很容易可以通过 C 拓展来提升性能。

新的运行时

  • pypy 据说能有很大提升
  • pyston LLVM 编译器架构 + JIT
    注意:Dropbox 放弃了这个项目,转向 Go 语言,但这个项目还在继续开发中

局部优化

Pyrex、Cython、Numba 和 Shedskin
- pyrex 编译成 C 模块
- cython pyrex 的分支
- numba

  • nuitka 尝试将 Python 代码编译成 C++
  • pysco
  • Parakeet

C/C++ 绑定

  • swig
  • pybind11
  • F2PY
  • Boost.Python

GPU

  • GPULib
  • PyStream
  • PyCUDA
  • PyOpenCL

直接调用 C

参考资料与拓展阅读