PyPy是一款Python語言解釋器,他可以對Python代碼進行動態(tài)編譯,可以顯著提高Python代碼的執(zhí)行速度。yPy比CPython是更加靈活,易于使用和試驗。
軟件說明:
PyPy是Armin Rigo開發(fā)的,Python語言的動態(tài)編譯器,是Psyco的后繼項目。PyPy的目的是,做到Psyco沒有做到的動態(tài)編譯。
PyPy開始只是研究性質(zhì)的項目。但是開發(fā)非常成熟,在2007年中旬發(fā)布了1.0 Release版本后,大家關(guān)注的焦點是,能否在2008年出現(xiàn)可供生產(chǎn)環(huán)境使用的版本。
PyPy還提供了JIT編譯器和沙盒功能,因此運行速度比CPython要快,以及可以安全的運行一些不被信任的代碼。PyPy還有一個單獨的支持微線程的版本。
PyPy是作為Specific Targeted Research Projects(特定領(lǐng)域研究項目)從2004年12月到2007年3月,開始接受歐盟的援助。
實現(xiàn)原理:
PyPy的第一部分:用Python實現(xiàn)的Python
其實這么說并不準(zhǔn)確,準(zhǔn)確得說應(yīng)該是用rPython實現(xiàn)的Python,rPython是Python的一個子集,雖然rPython不是完整的Python,但用rPython寫的這個Python實現(xiàn)卻是可以解釋完整的Python語言。
PyPy的第二部分:編譯器
這是一個編譯rPython的編譯器,或者說這個編譯器有一個rPython的前端,目前也只有這么一個前端,不過它的后端卻是不少,也就是說這個編譯器支持許多的目標(biāo)語言,比較重要的有:C,CIL,Javascript