-
说明
尝试翻译Cython Documentation以助学习。
水平有限,乐迎指正;文档首页:《Cython官方文档中文翻译》
-
通过静态类型加速代码
Cython
是一个Python编译器
。这意味着它可以无损编译普通Python代码
(除去有少许尚不支持的语言特性,详见Cython limitations)。然而,对于关键性能代码,增加静态类型声明
是一种常见的有效方式,因为他们使Cython
脱离Python
代码的动态特性,并生成更简单、更快的C代码
–有时会快几个数量级。类型声明会造成源代码冗余,也就降低了可读性。因此不建议在非必须情况下使用,例如基准测试证明他们确实在性能关键部分显著提速。通常情况下,正确位置的几种类型非常有效。
可声明所有
C类型
:整型(integer)
、浮点型(floating point)
、复数(complex numbers)
、structs
、unions
、pointer
。Cython
可以在分配的类型之间自动且正确的转换。也包括Python
任意大小的整型(integer)
,如果在转换成C代码
过程中出现溢出错误会在Python
报OverflowError
错误(但是,在进行算术运算时,并不会检查溢出错误)。在这种情况下,生成的C代码会安全正确的处理好与平台相适应的C类型
大小。类型,是通过cdef关键字声明的。
-
定型变量
考虑下述纯Python代码:
def f(x): return x ** 2
Cython官方文档中文翻译:通过静态类型加速代码
最新推荐文章于 2024-09-20 15:55:57 发布