写点什么

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:003294
用户头像

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

关注

评论

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

暖春启幕,巨擘齐聚!2025慕尼黑上海电子展开幕首日盛况直击

极客天地

蔚来汽车智能座舱接入通义大模型,并使用通义灵码全面提效

阿里巴巴云原生

阿里云 云原生 通义灵码

从理论到落地:MCP 实战解锁 AI 应用架构新范式 | 免费领取 78 页完整 PPT

阿里巴巴云原生

阿里云 云原生 MCP

Unity 广告质量监测工具免费开放 三大指标破解变现与体验的平衡难题

极客天地

教学资源管理系统的运营维护

北京木奇移动技术有限公司

软件外包公司 出版社 教学资源管理

三维模型怎么剖切?三维剖切详细教程来了

在路上

cad cad看图 CAD看图王

一年撸完百万行代码,企业微信的全新鸿蒙NEXT客户端架构演进之路

JackJiang

网络编程 即时通讯 IM

构建自动翻译工作流:技术与实践

亚马逊云科技 (Amazon Web Services)

书写API文档的最佳实践

数据追梦人

图床

九叔(高翔龙)

秘密任务 1.0:为什么 DTO 是 API 设计效率和安全性的秘密武器?

数据追梦人

蔚来汽车智能座舱接入通义大模型,并使用通义灵码全面提效

阿里云云效

阿里云 云原生 通义灵码

3月报|DolphinScheduler项目进展一览

白鲸开源

开源 Apache DolphinScheduler

企业数字化转型失败频率为什么这么高?

积木链小链

数字化转型 数字化 智能制造

TextIn ParseX文档解析参数使用指南(第一期)

合合技术团队

人工智能 OCR识别 #大数据 文档解析

数据安全责任担当:百度连续两年获CCIA数安委最高级试点单位

百度安全

政府域名是什么?政府域名怎么注册?一文读懂

防火墙后吃泡面

利用 DeepSeek-R1 模型和计算机视觉微调模型实现马铃薯叶片疾病识别和分类

亚马逊云科技 (Amazon Web Services)

中原银行实时场景企业级解决方案

Apache Flink

大数据 flink 实时计算

15~30K,3年以上golang开发经验

王中阳Go

Go 面经

五个信创小知识汇总-行云管家

行云管家

信创 堡垒机 国产化

修改下内存配置,DolphinScheduler CPU飙升问题秒解决

白鲸开源

开源 Apache DolphinScheduler 用户案例

人工智能与数字双胞胎:如何通过虚拟模型实现智能工厂管理?

天津汇柏科技有限公司

人工智能 数字孪生

基于 RAG 和 Dify 的生产级电话销售话术生成工具

亚马逊云科技 (Amazon Web Services)

互联网服务行业怎么定义?需要用到堡垒机吗?

行云管家

网络安全 数据安全 堡垒机

教学资源管理系统的测试

北京木奇移动技术有限公司

软件外包公司 出版社 教学资源网

大模型落地的关键:如何用 RAG 打造更智能的 AI 搜索——阿里云 AI 搜索开放平台

阿里云大数据AI技术

云计算 阿里云 大模型 rag AI搜索

21日报名截止!CommunityOverCode Asia 2025议题征集倒计时

白鲸开源

开源 Apache DolphinScheduler community

金融行业数字化转型破局:WhaleScheduler如何重塑万级任务调度体系?

白鲸开源

白鲸开源 WhaleStudio 商业案例

深入研究:1688店铺所有商品API详解

tbapi

1688API 1688店铺所有商品接口 1688店铺数据接口

AI超级计算机来了

PowerVerse

AI nvidia 芯片

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