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

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

admin17年前 (2009-11-17)挨踢客581
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
分享给朋友:

相关文章

初使新浪微博的感,Twitter的复制品?

     SNS(社交网站)的热浪席卷中国之后,微博客(Microblog)似乎又成为抵御“寒寂”的新趋势。8月底,“新浪微博”测试版上线,这是继腾讯网之后,国内第二家门户网站试水微博客服务。目前测试版“新浪微博”仅处于内部测试阶段,需要输入新浪官方提供的邀请码方能开通。有分析认为,新浪...

谷歌OS能击败Linux的10大理由

美国IT网站eWeek昨天撰文称,谷歌Chrome OS面市后将在上网本领域击败Linux和诺基亚,并列举了10大理由。以下为文章全文:谷歌Chrome OS即将于明年面市,这款产品能否对抗Linux?没问题,尤其是在上网本领域,Chrome OS将独具优势。虽然Chrome OS仍未上市,但已经在业界引发了轩然大波。这款操作系统最初将面向上网本推出,这是因为谷歌认为该系统能够为体积小巧的上网本提...

Google AdWords广告代理商公司的一些内幕爆料

谷歌广告就是大家经常说的广告,或者AD广告。我是在谷歌广告公司上班的,在这里就把这方面的独家信息给大家报下料,绝对是独家。比较了解谷歌的人知道,要做Google AdWords广告有2种方式,第1是找谷歌的正规代理商做,第2是自己有卡在线开。如果你是个人做,关键词不是很热门的建议自己在线开做做。如果是公司做,需要盈利性目标,词比较热的,公司没有懂谷歌的后台的人,建议找代理商,多出点服务费也是对你公...

统计啦团队宣布解散,请会员尽快撤消统计代码!

统计啦!将于今日停止运营`请广大会员尽快撤消统计代码! 以下是网上对统计啦的介绍资料,留着纪念吧!  对于站长而言,流量是其价值的核心根本。而选择一款优秀的流量统计及分析系统,会使站长更加了解自己网站的运营情况和用户访问回馈。善于分析网站流量统计的分析报表,会让站长了解自己网站访客们的行为习惯,从而可以进一步改善网站的质量,提高用户体验。  随着互联网的发展,目前为站长提供流量统计服务主要...

百度2012年与谷歌划洋而治,过于自信!

10月9日 李彦宏在不久前的一挡《经济半小时》国庆特别报道节目《中国符号改变世界》的节目中透露百度内部目标:2012年与谷歌划洋而治.李彦宏说:“现在的目标,我跟内部的人讲叫做2012划洋而治,以太平洋为界,2012年的时候,我们要在太平洋的西边我们要占主导地位.”这是百度继进军日本之后,再次透露全球化策略.不久前,李彦宏在被问及百度除了日本市场之外是否打算进军美国时,他就明确指出,百度未来会将业...

饭否公布新消息,读起来有点悲凉!

饭否(www.fanfou.com)官方博客今日更新,由于大量网友访问导致博客无法访问。这里把博文内容公布如下:停了105天,走了2位同事,但我们还在。饭否会回来。无尽苍凉和唏嘘,尽在这短短的一句话中。早在10月7日,我和王兴、郭万怀两位老师一起午饭,聊到下午4点多钟。谈到饭否的时候,我觉得站点用户的忠诚度让人震惊。对于任何网站来说,关闭那么长时间,用户早就已经遗忘,采用了新的替代产品。但是,饭否...

发表评论

访客

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