Nuitka —— 高性能的 CPython 替代品

Nuitka是一个Python的替代编译器。它可以无缝地替代和扩展Python的解释和编译工作。现在支持CPython2.6、2..7、3.2、3.3和3.4版本。它可以执行编译的代码,并能用很兼容的方式将目标代码一起编译。

开发者可以自由的使用所有的Python模块库和其他全部的第三方扩展库。Nuitka可以将Python代码编译成C级别的程序,并像CPython调用libpython一样去使用libpython库去执行编译后的程序。Nuitka的这些的优化工作旨在是为了能够避免Python执行过程中的在某个环节产生的不必要的开销。并旨在能够是消除一些不兼容性,虽然这是一种改进了的模式,但也不是每个标准Python的bug都能模拟,例如,提供更完整的错误信息。

Nuitka 某些地方比 CPython 要更快些,不过目前还没有进行全面的性能优化,发展空间巨大。

不需要对环境变量进行修改,可以不改变环境的情况下在脚本目录以外直接运行nuitka和nuitka-run。作为一个可选项,为了方便也可以将bin目录加入到PATH中。

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-11-26 00:52:43

Nuitka —— 高性能的 CPython 替代品的相关文章

《Python高性能编程》——2.12 用dis模块检查CPython字节码

2.12 用dis模块检查CPython字节码 到目前为止我们已经展示了很多测量Python代码开销的方法(包括CPU和RAM的开销).不过,我们还没有看到在底层虚拟机的字节码层面发生的事情.了解"台面下"发生的事情有助于在脑海中对运行慢的函数建立一个模型,并能帮助你编译你的代码.所以现在让我们来看一些字节码. dis模块让我们能够看到基于栈的CPython虚拟机中运行的字节码.在你的Python代码运行的时候,了解虚拟机中发生了什么可以帮助你了解为什么某些编码风格会比其他的更快.同时

高性能的智能日志

[编者按]本文作者是 Archanaa Panda ,从 2000 以来一直在软件开发(构架.设计和编程)团队担任 Java / JavaEE 构架师,目前立志于做一个与时俱进的独立的顾问架构师.在本篇文章中,作者通过多个方面为生产环节的日志提供建议和指导,最后还介绍了一个高性能的智能日志技术,帮助大家构建高性能的智能日志框架.    1.摘要 当应用在生产过程中,日志通常处于开发周期的次要位置,但实际上高性能的日志可能成为开发团队的重要生命线.在此我们假设读者已熟悉了各种日志框架,如 Log4

测试Nginx的高性能

简介 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器: 作为一款轻量级的Web服务器,具有占有内存少,并发能力强等优势,是高连接并发场景下Apache的不错的替代品: 本篇主要介绍Nginx作为Web服务器时,相对于Apache的性能优势: 下一篇将会介绍Nginx作为方向代理服务器的实现: 重要特点 非阻塞:数据复制时,磁盘I/O的第一阶段是非阻塞的: 事件驱动:通信机制采用epoll模型,支持更大的并发连

Netflix: 使用 React 构建高性能的电视用户界面

本文讲的是Netflix: 使用 React 构建高性能的电视用户界面, 我们在为 Netflix 会员努力寻找最佳体验的过程中也在不断优化其电视界面.例如,在进行 A/B 测试 .眼球追踪研究以及研究用户反馈之后,我们最近推出了 视频预览 功能来帮助会员们更好地决定看什么.我们在之前写的 一篇文章 中讲到了我们的电视应用是由一个预装在设备上面的 SDK,一个可以随时更新的 JavaScript 应用以及一个被称为 Gibbon 的渲染层组成的.在这篇文章中,我们会着重讲解在优化 JavaScr

五款Slack的开源替代品推荐

Slack 是非常流行的团队沟通应用,提供群组聊天和直接消息发送功能,支持移动端,Web 和桌面平台.Slack 为用户带来大量的便利,但是也有一些不太好的地方,比如高昂的订阅费用和私有数据泄漏的风险. 现在已经有了大量的 Slack 的开源替代品,可以让人们更好的控制数据的安全.那么多的 Slack 替代品如何选择?这里提供了 5 个非常棒的选择: 一.Friends Friends 是 Web 平台的 P2P 聊天应用,Slack 的开源替代品. 1.技术 ◆纯 JavaScript (No

MariaDB 新版本实力逆袭,不仅是 MySQL 替代品

MySQL分支--MariaDB MariaDB是MySQL源代码的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险.MariaDB是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存储引擎方面,使用XtraDB来代替MySQL的InnoDB,XtraDB完全兼容InnoDB,创建一个InnoDB表内部默认会转换成XtraDB. Percona

MariaDB新版本实力逆袭,不仅仅是MySQL的替代品

作者介绍 贺春旸,普惠金融MySQL专家,<MySQL管理之道>第一版.第二版作者.曾任职于中国移动飞信.机锋安卓市场,拥有丰富的数据库管理经验.目前致力于MySQL.Linux等开源技术的研究.   MySQL分支--MariaDB   MariaDB是MySQL源代码的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险.MariaDB是完全兼容MySQL,包括API和

如何测试Nginx的高性能

简介 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器: 作为一款轻量级的Web服务器,具有占有内存少,并发能力强等优势,是高连接并发场景下Apache的不错的替代品: 本篇主要介绍Nginx作为Web服务器时,相对于Apache的性能优势: 下一篇将会介绍Nginx作为方向代理服务器的实现: 重要特点 非阻塞:数据复制时,磁盘I/O的第一阶段是非阻塞的: 事件驱动:通信机制采用epoll模型,支持更大的并发连

《Python高性能编程》——导读

前 言 Python很容易学.你之所以阅读本书可能是因为你的代码现在能够正确运行,而你希望它能跑得更快.你可以很轻松地修改代码,反复地实现你的想法,你对这一点很满意.但能够轻松实现和代码跑得够快之间的取舍却是一个世人皆知且令人惋惜的现象.而这个问题其实是可以解决的. 有些人想要让顺序执行的过程跑得更快.有些人需要利用多核架构.集群,或者图形处理单元的优势来解决他们的问题.有些人需要可伸缩系统在保证可靠性的前提下酌情或根据资金多少处理更多或更少的工作.有些人意识到他们的编程技巧,通常是来自其他语言