热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

更快、更强的Python实现:Pystonv2.0发布了!!

2014年,Python实现Pyston诞生。Pyston的开发目标是开发高性能Python实现,使Python跻身C等传统系统级语言主导的领域。Py

2014 年,Python 实现 Pyston 诞生。Pyston 的开发目标是开发高性能 Python 实现,使 Python 跻身 C++ 等传统系统级语言主导的领域。

Pyston 最初是由 Dropbox 推出的基于 JIT 的 Python 实现。Pyston 解析 Python 代码,并转换到 LLVM 中间表示(IR),然后 IR 通过 LLVM 优化器和 LLVM JIT 引擎,得到可执行的机器码。

六年过去,10 月 28 日 Pyston 团队发布了最新版本——Pyston v2。

Pyston v2:比 Python 快 20%

据官方介绍,在宏基准测试上 Pyston v2 比 Python 3.8 快了 20%。除了速度快,Pyston v2 还可以降低服务器成本,减少用户等待时间,提高开发生产力。

此外,Pyston v2 易于部署。如果想获得更好的 Python 性能,只需花很少的时间就可以尝试部署 Pyston。

性能

Pyston v2 在许多工作负载上的速度有明显提升。开发者的研究重点一直放在 Web 服务器工作负载上,但 Pyston v2 在其他工作负载和常见基准上速度也更快。

开发团队整理了一个新的公开 Python 宏基准测试套件,该套件可测量多个常用 Python 项目的性能。

Pyston v2 在微基准测试上也显示出性能加速。在 chaos.py 和 nbody.py 等测试中,其速度是标准 Python 的 2 倍。

在目标基准 (djangocms + flaskblogging) 上,Pyston v2 实现了平均延迟 1.22x 加速、p99 延迟 1.18x 加速,并且每个进程使用的内存仅多了几 MB。

技术方法

Pyston v2 使用的技术包括:

  • 利用 DynASM 的低开销 JIT;

  • Quickening;

  • 通用 CPython 优化;

  • 构建进程提升。

兼容性

由于 Pyston 是 CPython 的分支,因此开发团队认为 Pyston 是目前兼容性最强的 Python 实现。它支持 CPython 拥有的所有特性和 C API。

理论上,Pyston 与 CPython 具备同样的功能,但在实践中任何新的 Python 实现都会遇到一些暂时的兼容问题。详情参见:https://github.com/pyston/pyston/wiki。

可用性

Pyston v2.0 可作为预置软件包立即可用。目前,Pyston v2.0 已具备适用于 Ubuntu 18.04 和 20.04 x86_64 的包。

Pyston 的试用较为简单,安装软件包,将 python3 替换成 pyston3,然后使用 pip-pyston3 install 重新安装依赖项。在已有自动构建设置时,这一改变只需几行即可完成。

Pyston 团队表示,计划未来将代码开源,但由于编译器项目成本高昂且没有赞助,因此目前该项目仍是闭源的,但 Pyston v1.0 的源代码是开放的。


推荐阅读
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 前言无论使用哪种语言,我们都需要关注性能优化,提高执行效率。选择脚本语言需要持久的速度。在某种程度上,这句话说明了Python作为一种脚 ... [详细]
author-avatar
可怜的绷带_565
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有