当前位置:首页 > 挨踢客 > 正文内容

Google将限制Python语言的应用,小汗!

admin17年前 (2009-11-17)挨踢客580
Collin Winter是Python社区一位颇具影响力的开发者,他曾是CPython项目的核心开发者之一、也曾是Unladen Swallow(见文末注释)的核心开发者,参与了很多Python项目的开发。近来传闻Google将在其新项目中限制Python的使用,为此有开发 者(以K表示)在Google 论坛中公开询问了Collin Winter,Collin Winter就很多尖锐的问题做了解答。这篇帖子同时也吸引了很多高质量的跟帖。

K:我听说Google将在其新项目中限制Python的使用,无疑这将大大减少Python代码和Python得到的支持。这是否确有其事还是只是谣传?

Collin Winter:的确,Google将限制Python的应用因为:Python不如Java和C++快,线程占有、内存使用都很高在使用Python开发 新系统的时候,我们深知如果负载增加了10倍或者100倍系统会怎样,开发出的服务会有多糟糕我想Python已经发展到了一个狭缝中,因此在选择时我们 应当权衡其优点和缺点,也许开发人员使用Python会很有效率,但随着系统的增大却会遇到许多平台级的性能限制。

K:Unladen Swallow会改变这一切么?你的期望是什么呢?

Collin Winter:Unladen Swallow旨在尽可能地将Python用在更多它现在尚未涉足的地方,而且Unladen Swallow也并非包治百病的灵丹妙药。如果没有人给Python注入投资,Python将仍旧比C和Java慢、占用更多的内存和线程。我希望开发者 对Python的关注能够形成一个良性循环:越多的开发者感兴趣、越多的公司干兴趣,就有越多的投资注入,从而开发出更多的Python资源。

我认为Python及其他动态语言最好的一点就是:许多开发者工作于不同的子系统,但都为同一个代码基工作。而C或者C++语言则不同,参与的开发 者越多,代码基就越支离破碎。从这个角度来说动态语言更加易于sandbox操作。这种敏捷和灵活是Python语言的重要特性。

K:Python的确是比C和Java慢,但它比较起v8 JavaScript引擎如何,是否会是后者的竞争对手呢?

Collin Winter:我认为像CPython之类的应用不可能像V8或者SquirrelFish Extreme那样快,毕竟后两者是专为速度而生的。我们也曾遇到一些高速性能方面的优化却很难配置到CPython中,因而只能放弃。作为开源项目的志 愿者,CPython跟V8的侧重点不一样:CPython强调的是简单,也即简单、稍慢的内核便于人们在业余时间维护。

对于Python的另一个项目PyPy我倒是有很高的期望,希望它能摆脱C-level向后兼容的束缚而提供长久的性能解决方案。但这个愿望可能需要十年来实现。

K:CPython为什么考虑的是人们在业余时间的维护?

Collin Winter:CPython开发人员很少是有报酬的,几乎全部是志愿者,而Ruby开发者却能够从EngineYard等赞助商那里获得基金,因而当他 们意识到MRI伺服web应用很慢时,他们可以更好地开发他们的VM。这也决定了我们开发的东西更加照顾大多数人的需求。

一位名叫Leon Sit的开发者在这里补充道:我认为当系统增大时,CPython除了在数字码方面表现不错之外其他的都差强人意。而且,CPython依赖C编辑器而 Windows系统根本没有C编辑器。为了提高CPython的速度,就需要添加打印信息而它们涉及的语法却非Python的标准语法。

K:那么Jython呢?

Collin Winter: Unladen Swallow的另一个主要目标是维护与C扩展模块的兼容性,后者被Google广泛使用。使用Jython需要将基础架构从SWIG移植到JNI,这是 一项很痛苦的工作,而且几乎会无可避免地带来非常繁琐的bug。这是我们为什么没有选择Jython作为baseline的首要原因。

Jython是一部分全职的有薪开发者。但到目前为止,IronPython和Jython不得不将大部分的开发精力放在与CPython的兼容 上,只有很少的精力放在性能优化方面。也由此可见支持Python 3多么影响Jython,IronPython, PyPy等项目。

网友Tom Machinski认为:CPython并非与低阶虚拟机(LLVM)相兼容。Unladen Swallow项目组提高五倍性能的承诺并没有真正意义上的实现。如果CPU耗用至少90%的执行时间用以运行一小段循环,CPython无疑可以将这段 程序提高100倍甚至更多。但如果是大的应用呢?而且不要忘了,这种加速往往只是针对程序的某个点,也即热点优化(hot spot optimization)。

不要误会我的意思,我当然对Unladen Swallow项目很感兴趣而且希望它能够真正地实现目标。但我也绝对认同Collin的意思:即便Unladen Swallow项目所有的目标都能真正实现,Python也不是Java或者C++的对手。

有开发者问:像Google这样的公司为什么不用Python编写一个原型,然后逐渐将核心部分转化为Cyhton,这样以来既能利用Python的优势,也可以获得C的效率和优化性能?

Craig Citro答道:我认为对Google而言这是发展Python的新计划:用Python写代码、做测试,然后将重要部分转化为CPython以提高速 度。然而这无疑是一项巨大的工作,而Collin Winter在上文中谈到的也不过是提高Python的运行速度、让Python在Google中继续保留下去。

而且目前CPython与Unladen Swallow的目标有很多矛盾之处,比如在低阶虚拟机(LLVM)方面,Unladen Swallow希望引入许多runtime优化和特性,而CPython却无法做到。

但是正如HotSpot JVM在一些标准方面可以打败g++一样,CPython击败单纯的Python代码静态编辑也不是什么难事。比如,如果你想写一个特殊的应用而你又很在 乎性能,CPython就是很棒的选择。你可以将对象转化为本地的C数据类型,如果你嫌麻烦而将Python代码转为CPython,JIT编辑器会很好 地优化这些纯Python代码。

注释: Unladen Swallow是Python的一个分支,由Google的一组开发人员组成。由于Google 在很多的应用项目中使用了Python,例如内部的服务器监控以及对外的Google Groups等。 所以Google很自然地希望提高Python的性能。该项目致力于改善Python的执行效率。Unladen Swallow的目标是将Python的性能提高五倍。为了实现该目标,将增加JIT的支持,并对虚拟机进行重新设计。在性能提升的同时,依旧会与 CPython保证源代码级别的兼容。

Unladen Swallow 的项目领导者及核心开发人员包括: Collin Winter、Jeffrey Yasskin、Thomas Wouters ,均为长期从事 CPython 的核心开发人员。他们贡献自己的20%的自由工作时间给Unladen Swallow。但是这个组织坚持认为这是一个Python项目,而非Google所有。

站长最关注的这会不会影响Google对GAE的关注程度,继而被广大的Google迷带来一定的沮丧感,但愿不会!

扫描二维码推送至手机访问。

版权声明:本文由博赚恋吧资源站发布,如需转载请注明出处。

本文链接:https://432l.com/post/1622.html

标签: 狼烟IT
分享给朋友:

相关文章

管中窥豹,Facebook的存在太可怕了!

 今天在donews上看到如下的新闻,再次感觉Facebook的存在实在是太可怕了!新闻如下:        9月3日上午消息,据国外媒体报道,网络广告公司uSocial周三推出一项Facebook好友买卖服务,用户可以出钱购买好友或粉丝。  Facebook用户最低需要购买1000个好友或粉丝,售价为177.30美元...

CM域名开放注册受阻,米农为何对其锲而不舍?

               写这篇文章前,站长屡次听闻这中域名后缀的妙用。.cm与.com之少一个字母,网友特别是心声很容易因为种种失误敲错!如google.com ,如果你申请了个google.cm,建立个gg高价网站。你想想,全世界每天有多少人错误的导向...

拿什么来拯救你,我的微博客?

曾几何时,twitter 飘洋过海,在这块神州热土生根发芽,并衍生出众多诸如饭否、叽歪地等类 twitter 模式微博客,然而,一夜之间,twitter 被拒之墙外,类 twitter 被责令维护,正所谓“国外微博客全封杀,国内微博客齐维护”,好一篇惨淡景象。然而,类twitter 微博客作为一种非常成功的模式并不会因此消亡,我看到很多不同的尝...

终于发现donews越来越不专业了!

         站长一直很关注于IT资讯,几乎每天第一次打开网页是看自己的博客访问量怎么样,第二就是打开donews.com浏览最新的IT时事和评论了!新浪科技和网易科技偶尔也会浏览下,电脑报的有时也去逛逛门。一直以来感觉donews挺好的。      &n...

谷歌CEO称将公布AdSense营收分成比例

9月18日上午消息,据国外媒体周四报道,很少有人知道谷歌究竟从AdSense广告中抽取多少费用,但CEO埃里克·施密特(Eric Schmidt)称,这种局面将来会有所改变。  对于发行商而言,AdSense在很大程度上是一个“黑箱”。AdSense广告费用由谷歌和发行商共享,但除了个别大型发行商,很少有人知道谷歌究竟从中抽取多少。  在谷歌大谈开放性和透明度的今天,这种局面是否要被打破呢?施密特...

传谷歌中国现金换流量提议曾被总部驳回

据谷歌内部人士透露,因现金换流量合作带来的份额提升,今年年初李开复曾向谷歌总部申请更多资金支持,此举随即被总部驳回,原因是谷歌CEO埃里克·施密特认为“这种做法和谷歌的价值观相悖。  ”  对于李开复的离职,业界有着各种说法和评价。其中有一种说法是:李开复的离去是“挥一挥手,不带走一片云彩!”。但对于谷歌中国那些本土的合作伙伴来说,李开复的离去绝对是带走了他们的“希望”。  2005年7月,李开复...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。