Pyston v2.0 发布,解决 Python 慢速的救星
Pyston 自从 2017 年发布 0.6.1 版本后,已经淡出了人们的视线三年多了,导致现在新人都很少听过它的大名。
前两天(2020年10月28日)Pyston 在官方博客上(https://blog.pyston.org/)更新了文章,发布了最新的 v2 版本。
Pyston 是 Python 的基于 JIT 另一种实现,更快且高度兼容 CPython,和另一个被寄予厚望的 pypy 相比,Pyston 背后有 DropBox 的资金支持,发展会比 PyPy 更快。
速度更快
在基准测试中,Pyston v2 比 Python 3.8 快了 20%
下面是官方发布的性能测试结果:
兼容性
CPython 到现在能这么流行,从来都不是靠速度取胜。
Python 丰富的生态,大量好用的第三方库和应用,让大部分开发者允许它在速度上的不足。
有了 Pyston 后,速度和生态,二者就皆可兼得。
Pyston 和 PyPy的一个巨大区别就是它们的向后兼容性,由于Pyston是CPython的分支,因此我们认为它是当今可用的最兼容的替代Python实现之一。它支持与 CPython 相同的所有功能和C API。
如何看待
Pyston的发展一直都很快,实现了JIT编译的Python,而Dropbox则充分利用这一点来提高性能。根据Dropbox的标准,Pyston不仅运行速度更快,启动速度也更快。启动速度慢一直是所有动态语言JIT编译器的通病,但是Pyston通过使用内联缓存和不同的JIT技术克服了这个问题。
在这些方面PyPy也卓有成就,在最近的版本中,减少了脚本启动的时间,增加了对硬件类型和处理器的支持。多平台支持也是PyPy的一大卖点(通过Python的子集实现),让跨平台变得简单。PyPy在它的生态系统中还有很多有价值的工具:比如Python Debugger,可以向前和向后查看程序的状态。
从长期来看,Python用户有了更多的选择:PyPy注重未来的生态,Pyston则强调兼容性。
如何试用
从 github 仓库(https://github.com/pyston/pyston)来看,目前 Pyston v2.0 仅提供了 适用于 Ubuntu 18.04 和 20.04 x86_64 的 deb 包。
你可以通过如下命令去下载安装
# 下载
$ wget https://github.com/pyston/pyston/releases/download/v2.0/pyston_2.0_amd64_18.04.deb
# 安装
$ sudo apt install ./pyston_2.0*.deb
复制代码
然后你就可以使用 pyston (或者 pyston3) 和 pip-pyston install(或者 pip-pyston3 install) 命令来使用 pyston。
还在等什么,快去试用一下吧!!
作者:王一白
链接:https://juejin.im/post/6890376479398592519
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Pyston v2.0 发布,解决 Python 慢速的救星的更多相关文章
- Restful.Data v2.0发布,谢谢你们的支持和鼓励
v1.0发布后,承蒙各位博友们的热心关注,也给我不少意见和建议,在此我真诚的感谢 @冰麟轻武 等朋友,你们的支持和鼓励,是这个开源项目最大的推动力. v2.0在除了细枝末节外,在功能上主要做了一下更新 ...
- iBox v2.0 发布,Web化仿iOS7界面/交互的JavaScirpt库
iBox2 是一个仿 iOS 7 界面/交互的 JavaScirpt 库,它运行在 webkit 内核的移动浏览器之上,依赖 iScroll5,帮助开发者构建更接近 iOS 体验的 WebApp. 伴 ...
- kkfileview v2.0 发布,文件在线预览项目方案
kkfileview文件在线预览 此项目为文件文档在线预览项目解决方案,项目使用流行的spring boot搭建,易上手和部署,部署好后可以独立提供预览服务,使用http接口访问,不需要和应用集成,具 ...
- CodeManage 源代码管理器v2.0发布
下载地址 欢迎大家提出宝贵的意见和bug
- 【Beta】“北航社团帮”发布声明——小程序v2.0与网页端v1.0
目录 Beta版本新功能 小程序v2.0新功能 新功能列表 功能详情图 新功能动图展示 网页端v1.0功能 登录方式 社团信息的修改 新闻的录入和修改 活动的录入和修改 这一版修复的缺陷 Beta版本 ...
- 带你全面认识CMMI V2.0(一)
新发布的CMMI V2.0在方法论和方法上都提出了一些战略上的变化和改进.这些更新提供了新的要求.历史标准的演进以及以往实践的延续. CMMI V2.0和CMMI V1.3的变化 CMMIV2.0的定 ...
- CMMI V2.0丨如何通过CMMI真正在企业中的实施规模化敏捷开发
在过去的几年中,敏捷开发已经从一个利基概念(利基是指针对企业的优势细分出来的市场,这个市场不大,而且没有得到令人满意的服务.产品推进这个市场,有盈利的基础.)转变为全球许多大公司采用的标准实践. 通过 ...
- XXL-JOB v2.3.0 发布 | 易用性增强
转: XXL-JOB v2.3.0 发布 | 易用性增强 v2.3.0 Release Notes 1.[新增]调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略.立即补偿触发一次等: 2. ...
- QzzmServer v2.0正式版发布
V2.1升级程序已发布,具体见下文 首先,感谢网友的热情的测评及反馈,现Qzzm ...
随机推荐
- STM32之旅2——按键
STM32之旅2--按键 几乎每个项目都有用到按键,为了避免以后在做大项目的时候还在琢磨按键怎么写,现在写一个,方便以后使用.这里是最简单的独立按键驱动方法,和学习51单片机是的一样,更好的方 ...
- ORA-28001: the password has expired 密码已过期
ORA-28001: the password has expiredORA-28001: 密码已过期 Cause: The user's account has expired and ...
- FreeType2使用总结(转)
一.FreeType2简介 1. 是一个免费.开源.可移植且高质量的字体引擎: 2. 支持多种字体格式文件,并提供了统一的访问接口: 3. 支持单色位图.反走样位图渲染,这使字体显示质量达到Mac的水 ...
- 判断移动还是PC 以及微信环境
//判断pc还是移动端 function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Andro ...
- 利用Turtle绘制各种图形
首先引入函数库: 第一种: import turtle import turtle as t 第二种: from turtle import * 1:使用 turtle 库的 turtle.fd() ...
- 多测试_linux_003_肖sir
一.linux 介绍os 操作系统:windows,dos,android ,ios,unix ,linux linux系统:是一个免费,开源的操作系统,能多cpu,多用户,多线程的操作系统,比win ...
- 在shell中截取心仪的字符串
file=/dir1/dir2/dir3/my.file.txt ${file#*/} 去掉左边 ${file##*/} 去掉左边最后一个 ${file%/*} 去掉右边 ${file%%/*} 去掉 ...
- spring boot:配置shardingsphere(sharding jdbc)使用druid数据源(druid 1.1.23 / sharding-jdbc 4.1.1 / mybatis / spring boot 2.3.3)
一,为什么要使用druid数据源? 1,druid的优点 Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 但spring ...
- 正则匹配img标签 蜘蛛 爬取分析 新闻采集
string ostr = "aaaaaa<img asddsa src=\"\" asddsasd />aaaaaaa<img src=\" ...
- is, ==, id 用法、代码块和缓存机制
id(): 获取对象的内存地址:print(id(i)) == : 比较两边的值是否相同 is : 判断内存地址是否相同 id相同,值一定相同 值相同,id不一定相同 代码块: Python是由代码块 ...