热门标签 | 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 的源代码是开放的。


推荐阅读
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 应用链时代,详解 Avalanche 与 Cosmos 的差异 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • Python 3 Scrapy 框架执行流程详解
    本文详细介绍了如何在 Python 3 环境下安装和使用 Scrapy 框架,包括常用命令和执行流程。Scrapy 是一个强大的 Web 抓取框架,适用于数据挖掘、监控和自动化测试等多种场景。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • Python错误重试让多少开发者头疼?高效解决方案出炉
    ### 优化后的摘要在处理 Python 开发中的错误重试问题时,许多开发者常常感到困扰。为了应对这一挑战,`tenacity` 库提供了一种高效的解决方案。首先,通过 `pip install tenacity` 安装该库。使用时,可以通过简单的规则配置重试策略。例如,可以设置多个重试条件,使用 `|`(或)和 `&`(与)操作符组合不同的参数,从而实现灵活的错误重试机制。此外,`tenacity` 还支持自定义等待时间、重试次数和异常处理,为开发者提供了强大的工具来提高代码的健壮性和可靠性。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 深入浅出 webpack 系列(二):实现 PostCSS 代码的编译与优化
    在前一篇文章中,我们探讨了如何通过基础配置使 Webpack 完成 ES6 代码的编译。本文将深入讲解如何利用 Webpack 实现 PostCSS 代码的编译与优化,包括配置相关插件和加载器,以提升开发效率和代码质量。我们将详细介绍每个步骤,并提供实用示例,帮助读者更好地理解和应用这些技术。 ... [详细]
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社区 版权所有