AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

Python JIT 编译器 PyPy 4 引入 SMD 向量化并提升了性能

  • 2015-11-10
  • 本文字数:848 字

    阅读完需:约 3 分钟

PyPy 是 Python 的一个即时编译器,PyPy 4.0 是其最新发布的一个大版本,带来很多新的特性,诸如支持 SIMD 矢量、预热时间的改进、以及对 Numpy 的改进。PyPy声称要比Cpython 快6 倍以上。

PyPy 4 的 SIMD 矢量会在追踪代码时启用,而且会自动探测到可用的 SIMD 硬件从而提高常见的向量和矩阵操作。根据版本的公告,实时矢量相比前置(ahead-of-time)矢量更具有领先优势,因为其更加的容易探测到可能的矢量。

在性能方面,PyPy 的内部进行重构从而能够更有效的使用 guards 。它能够减少 20% 的内存消耗,而且改进了 unrolling,这样可以较少 20% 的预热时间。

PyPy 中的 Numpy 和 Python 的 NumPy 扩展是一个道理。Python 的 NumPy 曾经谈及,NumPy 是能够将使用PyPy 的开发者们纠回到Python 本身的一个理由。在PyPy 4.0,Numpy 带来了新的扩展支持,如ndarray 和数字的dtypes,这也就意味着Numpy 的功能接近完善。对于record、string、以及unicode dtypes 的支持都有所改进。

PyPy 4.0 目的是兼容 CPython2.7。对于缺少对 Python3 的支持被认为是人们采用PyPy 的一个限制因素。事实上,PyPy3 是兼容Python3.2.5 的,而且PyPy 团队正在尝试启动对Python3.4 的支持。

在迁移到PyPy 之前还应该考虑另外两个因素,一个是PyPy 还缺乏像C Python 那样的扩展如Pandas,SciPy 等的等量支持,这样的话,若是用户使用了这些扩展的话,PyPy 就不如C Python 效率更高;另外一个就是,PyPy 为其即时编译器带来的好处是对长时间运行的脚本支持,若是简单而短小的脚本的话,预热时间就显得长了点。

更多关于PyPy 4.0 的细节请参考其官方声明。PyPy 4 可以在这里下载

查看英文原文: Python JIT Compiler PyPy 4 Brings SMD Vectorization,Performance Improvements,and More


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-11-10 18:002926
用户头像

发布了 30 篇内容, 共 11.8 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

研发运维双管齐下!Seal AppManager的正确打开方式

SEAL安全

企业号 4 月 PK 榜 Seal软件 SealAppManager

华为云全流程等保服务,帮助企业守护信息安全

科技怪授

防止网页防篡改,华为云网站安全方案省心又省力

爱尚科技

落地“旅游+”数字赋能:实现智慧旅游协同创新发展

加入高科技仿生人

低代码 数字化 旅游业 数字转型

升级企业数智化底座,加速推进国产替代

用友BIP

技术大会 用友BIP 升级企业数智化底座

BNB代币燃烧模式dapp系统开发合约详情

开发v-hkkf5566

火山引擎云原生数据仓库ByteHouse技术白皮书V1.0(中)

字节跳动数据平台

数据仓库 云原生 白皮书 云数据仓库 企业号 4 月 PK 榜

企业内部培训网站为例,探索云上成本优化

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

这些央国企在数智化转型时为何选择用友?

用友BIP

技术大会 用友iuap 用友技术大会

​华为云网站安全解决方案,多重防御保护企业数据安全

IT科技苏辞

从网站安全说起,华为云为何能成为政企的“好伙伴”

IT科技苏辞

瓴羊Quick BI与网易有数,看国产BI工具如何起势

夏日星河

Wallys/IPQ5018 and QCN6122: The Future of Wireless Networking

Cindy-wallys

ipq5018 QCN6102 QCN6122

软件测试/测试开发丨Python 算法与数据结构面试题

测试人

软件测试 面试题 测试开发

保护企业网站安全,华为云网站安全解决方案有绝招

秃头也爱科技

被称为大数据分析工具的瓴羊Quick BI,与传统数据分析工具有何不同?

流量猫猫头

为企业发展赋能,华为云网站安全解决方案,保护企业网络安全

科技怪授

低代码起势,程序员闷头开发的日子结束了

引迈信息

低代码 快速开发 JNPF

众多企业的共同选择,华为云网站安全解决方案有哪些优势?

秃头也爱科技

护航信息安全,就看华为云网站安全方案

爱尚科技

探究光明源智慧公厕系统的科技创新与管理优势

光明源智慧厕所

智慧城市

九科信息RPA产品bit-Worker通过信创产品评估

九科Ninetech

支撑百万商户、千亿级调用:微盟如何通过链路设计降本40%?

TakinTalks稳定性社区

新一代异步IO框架 io_uring | 得物技术

得物技术

“930大促”日活增速超40% ,哈啰如何用预案高效应急?

TakinTalks稳定性社区

CSS中的各种格式化上下文-FC(BFC、IFC、GFC、FFC)

肥晨

css3 三周年连更

看数据如何驱动业务增长,来用友BIP技术大会探索数据智能的力量

用友BIP

数据智能 技术大会 用友iuap 用友技术大会

相约用友BIP技术大会,用友iuap带您玩转数据智能

用友BIP

技术大会 用友iuap 数智化底座

消息服务MNS之初见

六月的雨在InfoQ

Java 云产品 MNS 三周年连更 消息服务

对话 BitSail Contributor | 刘啸:参与开源,提升自我技术力

字节跳动数据平台

大数据 开源 数据集成 数据集成平台 数据引擎

Python JIT编译器PyPy 4引入SMD向量化并提升了性能_Python_Sergio De Simone_InfoQ精选文章