谷歌推出 Python 性能加速方案

https://codingpy.com/article/grumpy-boosts-python-with-go/

昨天,谷歌发布了一个 Python 性能加速方案 —— Grumpy,可以将 Python 代码转译(transcompile)为 Go 源代码。

昨天,谷歌发布了一个 Python 性能加速方案 —— Grumpy,可以将 Python 代码转译(transcompile)为 Go 源代码,然后再编译为 Native Code。目前在 Github 上已经获得了 3000+ star。

项目地址:https://github.com/google/grumpy

谷歌此举为社区又增添了一个 Python 性能加速方案。在众多编程语言中,Python 一直被诟病性能不高,背后的一个重要原因就是其标准实现 CPython 中的全局解释器锁(GIL)的存在,限制了并发和并行能力。一直以来,业界和社区都在寻找比较好的解决方案,目前知名的有 PyPy,微软的 Pyjion,和 Dropbox 的 Pyston等 JIT 实现。

Python 在谷歌的应用非常广泛,YouTube 的前端服务器和 YouTube API 就是采用 Python 语言编写。Python 之父曾经也在谷歌任职。

根据相关博文,这个项目的初衷就是为了提高 Python 代码的性能。Grumpy 既是一个源代码转译器,又提供了一个运行时。目前,该项目还处于实验阶段,而且不支持 Python 3。

负责开发该项目的工程师在 Hacker News 上回答网友质疑为什么只支持 Python 2时,指出『谷歌目前有着很大的 Python 2.7 代码库,因此是我们的侧重点』。还有人猜测,谷歌此举可能是为了应对 Python 2.7 到 2020 年时终止维护有关。与其将代码升级到 Python 3,谷歌更愿意未来将一部分 Python 代码转译为 Go 代码。

不过,这个猜测似乎并没有太多根据。谷歌工程师做出了如下回应,『(该项目的)目的是要继续用 Python 编码,转译后的代码没办法直接进行二次处理。当然对于性能关键的部分可能会用 Go 重写。未来采取的是混合模式。』

社区里还有通过引入 Rust、Lua、Julia 等语言加速 Python 的做法。

由于 Python 本身一直没能很好地解决 GIL 带来的性能限制,社区未来应该会继续出现其他的解决方案。目前应该有 JIT 即时编译和混合代码两种形式,而且得到了不少大公司的支持。

这个趋势对于以后学习 Python 来说也是值得注意的:未来肯定不是只要会 Python 就能满足工作需求,可能还需要学习 Go 等语言并研究如何结合使用。

原文地址:https://www.cnblogs.com/dhcn/p/12121077.html

时间: 2024-10-09 07:46:26

谷歌推出 Python 性能加速方案的相关文章

360网站卫士推出google字体加速方案

最近,有网友反映称谷歌官网域名google.com.谷歌香港google.com.hk都打不开, ping了一下google.com和google.com.hk两个域名的服务器情况,最后ping出来的IP地址均显示为“美国”,也就是说谷歌香港(google.com.hk)的服务器,已由香港转移至美国,所以链接时间会很长,甚至断断续续出现请求超时的情况. 图:google.com.hk域名服务器ping测结果 Google服务在大陆的崩溃情况不仅影响到了广大网民,也影响到了数百万的站长.WordP

Python性能鸡汤(转)

英文原文:http://blog.monitis.com/index.php/2012/02/13/python-performance-tips-part-1/ 英文原文:http://blog.monitis.com/index.php/2012/03/21/python-performance-tips-part-2/ 译文:http://www.oschina.net/question/1579_45822 Python是解释型语言,因此它的执行效率不高 [1] ,但这并不影响它的流行.

Python性能(转)

第一部分 阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!" 毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Python服务于每小时4千万视频的请求. 你所要做的就是编写高效的代码和需要时使用外部实现(C/C++)代码. 这里有一

Python性能鸡汤

第一部分 阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!" 毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Python服务于每小时4千万视频的请求. 你所要做的就是编写高效的代码和需要时使用外部实现(C/C++)代码. 这里有一

kvm性能优化方案

kvm性能优化方案 kvm性能优化,主要集中在cpu.内存.磁盘.网络,4个方面,当然对于这里面的优化,也是要分场景的,不同的场景其优化方向也是不同的,下面具体聊聊这4个方面的优化细节. cpu 在介绍cpu之前,必须要讲清楚numa的概念,建议先参考如下两篇文章 CPU Topology 玩转cpu-topology 查看cpu信息脚本: #!/bin/bash # Simple print cpu topology # Author: kodango function get_nr_proc

谷歌推出DAYDREAM开发包

<<< 谷歌推出Daydream开发包,VR应用爆发将至 >>> 2016年是虚拟现实元年,除了索尼.HTC和Oculus三大公司开发全功能头盔之外,不计其数的智能手机企业也推出了简易型头盔,希望能够在VR市场分一杯羹.在手机VR领域,野心勃勃的谷歌准备成为一家VR开发的标准制定企业.日前,谷歌面向VR开发准备的开发工具包"谷歌VR SDK 1.0"正式结束了测试期,面向所有虚拟现实开发者提供下载. 利用这一工具包,开发者可以面向所有符合Daydre

Python性能优化(转)

分成两部分:代码优化和工具优化 原文:http://my.oschina.net/xianggao/blog/102600 阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!" 毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Pyth

利用 NGINX 最大化 Python 性能,第一部分:Web 服务和缓存

[编者按]本文主要介绍 nginx 的主要功能以及如何通过 NGINX 优化 Python 应用性能.本文系国内 ITOM 管理平台 OneAPM 编译呈现. Python 的著名之处在于使用简单方便,软件开发简单,而且据说运行性能优于其它脚本语言.(虽然最新版本的 PHP.PHP 7 可能会与它展开激烈竞争.) 所有人都希望自己的网站和应用程序运行得更快一些.但是,每个网站在流量增长或骤然出现流量峰值时都很容易发生性能问题.甚至宕机(这一般会在服务器最繁忙的时候发生).此外在运行期间,无论是流

[译]用NGINX最大化发挥PYTHON性能

原文:Maximizing Python Performance with NGINX, Part I: Web Serving and Caching 介绍NGINX和Python如何配合使用 Python以易用,有趣而出名,它让软件开发变得简单,据说运行性能也高于其他脚本语言(PHP最新版本PHP 7的性能好像可以与Python一较高下) 每一个人都希望自己的网站或应用可以运行得更快.但是每一个网站在大流量和流量激增时都容易遇到性能问题,甚至当机,业务繁忙时,这种情况会更加糟糕.其实无论流量