关于Unladen Swallow的观点?

时间:2009-04-03 14:46:31

标签: python llvm unladen-swallow

您对Google's Unladen Swallow有何看法和期望?从他们的项目计划:

  

我们想让Python更快,但我们   也想让大容易,   完善的应用程序   切换到Unladen Swallow。

     
      
  1. 生成Python的版本至少比CPython快5倍。
  2.   
  3. Python应用程序性能应该稳定。
  4.   
  5. 维护与CPython的源级兼容性   的应用程序。
  6.   
  7. 维护与CPython扩展的源级兼容性   模块。
  8.   
  9. 我们不想永远维护Python实现;我们认为   我们的工作是一个分支,而不是一个分支。
  10.   

甚至更甜蜜:

  

另外,我们打算删除   GIL并修复状态   Python中的多线程。我们相信   这可以通过   实施更复杂   GC

它几乎看起来太好了,就像最好的PyPy和Stackless一样。

更多信息:

更新:正如DNS指出的那样,有相关问题:What is LLVM and How is replacing Python VM with LLVM increasing speeds 5x?

7 个答案:

答案 0 :(得分:17)

我对它寄予厚望。

  1. 谷歌的一些人正在研究这项工作。看到如何在那里使用BDFL,这是一个积极的。

  2. 关闭蝙蝠,他们声明这是一个分支,而不是一个分支。因此,这最终可能会合并到主干中。

  3. 最重要的是,他们的工作版本。对于Youtube来说,他们正在使用一种非空的燕子

  4. 他们似乎把自己的狗屎放在了一起。他们在此阶段对项目有一个相对详细的计划,他们有一个测试列表,用于衡量绩效改进和回归。

    我没有屏住GIL去除,但即使他们永远不会解决这个问题,单独提高速度也会让它变得非常棒。

答案 1 :(得分:12)

我很抱歉让你失望,但当你看到PEP 3146时,事情看起来很糟糕。

现在改进是最小的,因此编译器代码变得更加复杂。 删除GIL也有许多缺点。

顺便说一下。 PyPy似乎比some tests中的Unladen Swallow更快。

答案 2 :(得分:4)

我认为该项目有着崇高的目标,并且有足够的时间(2 - 3年),它们可能会达到大部分目标。

他们可能无法将他们的分支合并回主干,因为Guido当前的观点是cpython应该是一个参考实现(即它不应该做IronPython和jython无法复制的事情。)我'我们已经看到有报道说这就是无法将Stackless的很酷部分合并到cpython中。

答案 3 :(得分:4)

This question讨论了很多相同的事情。我的观点是听起来很棒,但我还在等着看它是什么样的,以及稳定需要多长时间。

我特别关注与现有代码和库的兼容性,以及库编写社区如何响应它。最终,除了个人爱好项目之外,它对我来说没有价值,直到它可以运行我的所有第三方库。

答案 4 :(得分:1)

Guido刚刚在他的Twitter帐户上发布了一篇文章,这是对之前发布的Jesse Noller文章的更新。 http://jessenoller.com/2010/01/06/unladen-swallow-python-3s-best-feature/。听起来他们正如前面提到过的python 3一样前进。

答案 5 :(得分:0)

他们每季度发布一次。所以不远处,等着观看,让他们想出一些不仅仅是一个计划。

如果确实如此,即使是性能密集型操作,也很容易取消C和C ++。

即便如此,它也是Google赞助的开源项目,令人惊讶的是,它并没有涉及Guido。

答案 6 :(得分:0)

我认为,对我个人而言,提速5倍并不是那么重要。

这不是一个数量级的变化。虽然如果你以谷歌的规模消耗CPU能力,那么让你的一些员工参与投资是值得的。

许多速度改进最终可能会进入cpython。

原则上摆脱GIL很有意思,但是一旦GIL被移除,很可能会发现许多模块没有线程安全的问题。

我认为我不会很快使用Unladen Swallow,但是如何关注性能可能会改进常规的Python版本。