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

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

admin17年前 (2009-11-17)挨踢客571
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美元...

卓越当当首次同时免运费:免费配送成标配

      5元的送货费再次搅动B2C网站竞争的神经。昨日,记者发现卓越亚马逊再次祭出全场免运费的“杀手锏”,与此同时其老对手当当网依旧在坚持免运费政策。这意味着这对厮杀了十年的冤家,第一次同时免运费。分析认为,B2C的竞争已经达到了前所未有的白热化程度。  实际上,2007年卓越率先挑起“全场免运费&rdquo...

由"可口可乐破产"的传言想起

       可口可乐破产了?近日,一网友发表了一片题为《永远怀念可口可乐!可口可乐申请破产保护!!!》的帖子,该贴称,可口可乐由于不堪长期以来的亏损,以致无法偿还挤压的债务而申请破产保护。虽然此消息尚未得到官方的证实,但已经举世哗然了。  可口可乐的历史,要追溯到1885,当时美国乔治来州的潘伯顿医生(Dr.JohnS.Pemberto...

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

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

没有永远的朋友,只有永远的利益

还记得当年吗?我们一起到中流击水,浪遏飞舟。  张朝阳、古永锵、李善友、王建军,这些多年的同事,曾经为了共同的事业打拼,他们一起为搜狐打下现在的江山。  如今兄弟阋墙,为了各自的利益兵戎相见。  他们仍在诠释商业世界的永恒法则:没有永远的朋友,只有永远的利益。  兄弟反目  古永锵、李善友和王建军都曾经是张朝阳旗下的大将,但后三者已分别离开搜狐创业:古永锵创立了优酷网,李善友创立了酷六网,而王建军...

ICANN新通用顶级域名推广计划,商机无限

ICANN正在推进新通用顶级域名(gTLD)推广计划,在2010年第一季度开放申请。ICANN将修改互联网通用顶级域名的申请规则,将之前严格限制的新通用顶级域名的规则改为凡符合新申请条件的公司、注册机构、组织都可以提交申请,并成为该新通用顶级域名注册局。  这个计划一旦顺利执行,将催生很多新的通用顶级域名,往市场细分这个方向去想,有些新的通用顶级域名是具有市场需求和商业价值的。  一、面向个人博客...

发表评论

访客

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