2012-02-27 69 views

回答

3

用於Java字節碼的RPython解釋器不會是Java字節碼到本地代碼的編譯器。 RPython代碼被編譯爲本地代碼,而不是解釋器正在解釋的代碼。

在運行時(某些)解釋的代碼將被JIT編譯爲本地代碼,但這完全不同,並且HotSpot VM已經這樣做了。鑑於HotSpot已經在很長的一段時間內得到了發展,並且擁有嚴重的資源,並且專門針對Java進行了調整,所以我懷疑你可以得到任何與PyPy一樣好的東西。

PyPy的優勢在於,您可以將垃圾收集器和JIT編譯器這樣的東西作爲一個獨立於您正在解釋的語言的的框架編寫。然後很多人可以爲很多語言編寫大量的解釋器,並以相當高級的易於編寫的方式編寫它們,但它們仍然都可以獲得高質量的GC,JIT編譯器等,而無需專門爲其執行每種語言。 PyPy不太可能成爲現有項目的合理替代品,該項目已經沉浸在大量資源中,用於開發專門針對其語言進行調整的高度優化的GC和JIT編譯器。

+1

也許值得注意的是,pypy的JIT專門針對** dynamic **語言進行了調整。有可能它的靜態效果不好。 – fijal 2012-03-01 23:43:43