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

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

admin15年前 (2009-11-17)挨踢客373
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 飘洋过海,在这块神州热土生根发芽,并衍生出众多诸如饭否、叽歪地等类 twitter 模式微博客,然而,一夜之间,twitter 被拒之墙外,类 twitter 被责令维护,正所谓“国外微博客全封杀,国内微博客齐维护”,好一篇惨淡景象。然而,类twitter 微博客作为一种非常成功的模式并不会因此消亡,我看到很多不同的尝...

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

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

谷歌投资收购路线图曝光:百度迅雷在列

导读:国外媒体今天撰文列举了谷歌过去几年来展开的投资和并购活动,统计图显示,百度和迅雷均为谷歌的投资对象。  以下为文章概要:  13年前,谷歌诞生于美国斯坦福大学,由当时还在攻读博士学位的拉里·佩奇(Larry Page)和赛吉·布林(Sergey Brin)共同创办,后来经过发展变成了全球第一大搜索引擎。  谷歌1999年搬迁至加州山景城的总部,并一直持续至今。2000年时,谷歌开始根据关键词...

10种人将会从Twitter上消失,看看有你吗?

上一周,Twitter发表宣告更改服务条款声明用户拥有自己的Tweets版权,并且Twitter可在用户的Tweets内容旁边放置广告。更为重要的是,Twitter开始打击垃圾信息、 bots以及其他不良行为。 新修改的Twitter规则是新的服务条款的一部分,根据新的规则,很多不同原因都可能造成你的Twitter账户被终结。任何不适当的内容、蹲位霸占行为以及出售用户名都可能成为你被踢出Twitt...

Google的十一步换来搜索引擎的一小步

Google虽然已经有了11个年头,在这在互联网行业算是“十年老店”了,虽然与传统的百年老店差一个数量级,但是你要看到同样有10多年历史的雅虎已经垂垂老矣,那些同时期的Excite,Lycos都已经没了声音。虽然Google算的上老店,虽然Google已经不是单纯意义做搜索生意的公司。但搜索引擎从某种意义上还停留在文本搜索的低层次上。 通过蜘蛛获取网页,过滤html标记,提取文字内容,并...

Google Wave邀请测试账户拍出5000美元高价,再次见证google的强大

美国美食博客哈根·布伦特(Hagan Blount)周三开始在eBay上拍卖其Google Wave邀请测试账户.在eBay阻止此次排名,称布伦特并未拥有此次拍卖物品的所有权之前,布伦特Google Wave邀请测试账户的竞价已达到5000美元.布伦特在周二晚开始此次拍卖,到周三上午6点查看时,布伦特发现此次拍卖点击量已经达到了1.2万次.布伦特的这次拍卖在周三获得了33个出价.有位eBay用户试...

发表评论

访客

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