-
说明
尝试翻译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 发布

最低0.47元/天 解锁文章
794

被折叠的 条评论
为什么被折叠?



