开始使用 cython

什么是 Cython?

Cython 编程语言通过类似 C 的静态类型,直接调用 C 函数的功能以及其他一些功能来丰富 Python。这允许在仍然使用类似 Python 的语法的同时达到 C 级性能。

它是如何工作的?

使用 cython 源到源编译器编译 Cython 代码以创建 C 或 C++代码,而 C 或 C++代码又可以使用 C 编译器进行编译。这允许创建可以从 Python 或可执行文件导入的扩展。

与纯 Python 相比,Cython 可以达到的主要性能增益源于绕过 CPython API。例如,当添加两个整数时,Python 对每个变量执行类型检查,找到满足找到的类型的 add 函数,并调用该函数。在 Cython 生成的 C 代码中,类型已经知道并且只进行了一次函数调用。因此,Cython 尤其适用于类型清晰的数学问题。

如何使用它来加速我的代码?

在尝试使用 Cython 加速程序时,一个常见的用例是分析代码并将计算成本高昂的部分移动到已编译的 Cython 模块。这允许保留大部分代码的 Python 语法,并在最需要的地方应用加速。