【发布时间】:2020-05-17 05:53:55
【问题描述】:
我在学习 Python 时遇到了一种叫做 Cython 的东西,它有助于提高性能。后来,我发现了 Instagram 开发者的演讲 https://www.youtube.com/watch?v=_1MSX7V28Po,在他的演讲中,他说 Cython 在 Python 优化方面确实很有帮助。但简要提到,如果你只是添加 Cython 很好,但如果你为你的 python 代码添加类型注释。您可以获得更好的性能。所以,问题是,通过添加 cython 是否真的可以提升性能,但是如果我们为 python 代码添加 TYPE ANNOTATIONS,那么性能提升会更好吗?
【问题讨论】:
-
Cython 中的类型化变量不同于 Python 类型注解
-
在 Cython 中使用 Cython 类型的变量将提供性能优势。
typing风格的类型注解没有性能优势;在最坏的情况下,它们实际上可能会减慢您的代码速度。 -
@juanpa.arrivillaga,我的意思是,如果我们使用 cython 的类型系统,与仅在我们的 python 代码中添加 cython 而不使用它的类型系统相比,它会给我们带来额外和更好的性能提升吗?
-
是的,这就是 Cython 的重点
-
花时间阅读
cython文档。教程和博客只给你建议,而不是真正的交易。一开始,不要在所有代码中抛出 cython。专注于一些真正需要速度提升的功能。如果过早切换到编译版本,可能会失去 Python 的很多灵活性。