前面写过篇介绍 pypy 的文章了,不过感觉有些东西还说得不够清楚也不够准确。 pypy 分为两部分:一个 python 的实现 和 一个编译器。 pypy 这名字说的就是这第一部分:用python实现的python。但其实这么说并不准确,准确得说应该是用 rpython 实现的 python ,rpython 是 python 的一个子集,不过不要搞混了,虽然 rpython 不是完整的 python ,但用 rpython 写的这个 python 实现却是可以解释完整的 python 语言。 那为什么要用 rpython 来写这个 python 实现呢,这其实就涉及到了 pypy 的第二部分:编译器。 这是一个编译 rpython 的编译器,或者说这个编译器有一个 rpython 的前端,目前也只有这么一个前端,不过它的后端却是不少,也就是说这个编译器支持许多的目标语言,比较重要的有:c, cli, javascript ... 而当我们把这两部分合起来看的时候,就能够发现 pypy 最重大的意义所在,当我们用这个编译器来编译这个用 rpython 写的 python 实现,我们能够得到什么呢?一个 c 写的 python 实现,一个用 .net 写的 python 实现(不过目前的 cli 后端还不能用来编译这个 python 实现) ... 我想这个介绍应该是比较简要了,pypy 的这两个大部分中都包含有许多有趣的内容,等玩得多些了再来介绍吧。 [update] 刚看到 pypy 0.99 发布的声明,其中说到编译后的解释器性能 twice the speed of the 0.9 release, overall 2-3 slower than CPython 。并且: It is now possible to translate the PyPy interpreter to run on the .NET platform . the JavaScript backend has evolved to a point where it can be used to write AJAX web applications with it. WOW!
Profile
- 黄毅
- 深圳, 广州, China
- I Love Python !
Recent Posts
Recent Comments
Tags
- 设计模式 (1)
- ajax (3)
- allegra (1)
- cherrypy (1)
- compiler (1)
- continuation (2)
- descriptor (1)
- django (17)
- dotnet (1)
- framework (2)
- functional (1)
- genshi (1)
- gtk (1)
- haskell (1)
- inkscape (1)
- IronPython (2)
- javascript (1)
- libevent (1)
- mako (1)
- metaclass (4)
- mochikit (1)
- network (1)
- newforms (1)
- orm (1)
- others (18)
- paste (1)
- PEAK (1)
- pickle (1)
- ply (1)
- pocoo (1)
- pypy (3)
- python (38)
- python3000 (3)
- rails (2)
- REST (3)
- sqlalchemy (3)
- stackless (3)
- turbogears (1)
- tutorial (1)
- vim (1)
- web (11)
- wsgi (1)
1 评论:
Hi 黄毅 ,我是Silvia.
欧洲开始禁用白炽灯泡,改用节能灯了!四川重庆旱灾1000万人缺水。北极冰层融 化爱斯基摩人迁离北极圈。地球现在冰河融化速度五千年来最快。
地球气候正在暖化,二氧化碳浓度系26万年里最高最高最高最高.........最高度 ,400多度。以前的世纪都是100~200多度。没有超人来救我们,所以现在靠我们自 身做起节约能源,环保救地球!
如果你有1分钟时间,请看看我的节约能源的Blog!谢谢你^_^
http://iloveearth99.blogspot.com/
发表评论