python nuitka

Nuitka是一种将Python转换为C的编译器,以提高性能并提供更轻便的运行时,现已达到0.6版本,这是一个里程碑,为将来的性能提升奠定了基础。 正如Nuitka开发人员Kay Hayen所说,“可能在每个即将发布的版本中提高性能。”

Nuitka 0.6对Python的bool类型( true/false )应用了优化,因此可以将使用它们的代码简化为尽可能高效的C代码。 bool优化作为其他变量类型的类似优化的前奏。

[InfoWorld的基本知识: Anaconda入门,Anaconda是数据科学的Python发行版 Python的Anaconda发行版中的新增功能 5个用于数据科学的基本Python工具-现已改进 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

Cython一样, Nuitka将Python程序编译为C,然后将生成的可执行文件与Python运行时链接,以实现最大的兼容性。 都支持python版本2.6、2.7和3.3到3.7,包括类似async构造。

用Nuitka编译的Python程序可以受益于性能的大幅提升。 Hayen声称,Pystone基准测试的Nuitka编译版本比常规CPython实现的运行速度快312%。

但是海恩(Hayen)警告说,Nuitka中类型推断的到来才是最重大的性能改进,它可以将某些类型的Python对象完全转换为本地C版本。

Python的动态性固有地使许多优化变得困难。 许多Cython优化需要大量指导和特殊注释语法才能获得最佳结果。 Nuitka项目旨在提供相同类型的优化,而无需开发人员注释代码。

另一个常用的Python加速器PyPy通过及时编译Python代码进行汇编来工作。 但是PyPy最适合就地优化。 它不适合编译以独立方式部署的Python应用程序。 Nuitka生成独立的可执行文件。 它的潜在用例之一是打包Python应用程序以进行第三方分发。

Nuitka 0.6的其他改进包括Windows对Clang,Microsoft Visual C ++和Cygwin编译器的支持,对象文件的缓存以加快重新编译的速度(再次在Windows上)以及生成的C代码以clang-format自动格式化以提高可读性。

翻译自: https://www.infoworld.com/article/3309943/nuitka-python-to-c-compiler-readies-big-performance-gains.html

python nuitka

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐