http://code.google.com/p/unladen-swallow/wiki/Release2009Q2
Unladen Swallow 2009Q2 is the first release of Unladen Swallow to use LLVM for native code generation. To obtain the 2009Q2 release, run
svn checkout http://unladen-swallow.googlecode.com/svn/branches/release-2009Q2-maint unladen-2009Q2
The Unladen Swallow team does not recommend wide adoption of the 2009Q2 release. This is intended as a checkpoint of our progress, a milestone on the long path to our eventual performance goals. 2009Q2 can compile all pure-Python code to correct native machine code, but is intended to set the stage for more significant performance improvements in the 2009Q3 release that will take advantage of the LLVM-based compiler infrastructure built in Q2.
Highlights:
- Unladen Swallow 2009Q2 uses LLVM to compile hot functions (anything called more than 10000 times) to machine code. A -j always command-line option is available to force all functions though LLVM.
- Unladen Swallow 2009Q2 starts up faster than 2009Q1.
- A number of buggy corner cases in the 2009Q1 version of cPickle have been fixed.
- Unladen Swallow 2009Q2 passes the tests for all the third-party tools and libraries listed on the Testing page. Significantly for many projects, this includes compatibility with Twisted, Django, NumPy and Swig.
Lowlights:
- Memory usage has increased by 10x. We have thus far spent no time improving this; lowering memory usage is a goal for the 2009Q3 release.
- LLVM's JIT memory manager is limited to 16MB of native code. This is not a problem in practice, but interferes with regrtest.py runs. This is being fixed upstream in LLVM, and the result patch will be backported to the 2009Q2 release branch.
Unladen Swallow 2009Q2 版本发布,此版本开始采用 LLVM 进行本地代码生成。对于被调用超过 10000 次的热点函数,Unladen Swallow 2009Q2 将其编译为机器代码。同时,启动速度相比 2009Q1 版本有所提升,并修复了 cPickle 的一些错误情况。此外,2009Q2 版本已经通过了包括 Twisted、Django、NumPy 和 Swig 在内的第三方工具和库的测试。
1024

被折叠的 条评论
为什么被折叠?



