pypy當前使用可插入JIT和GC將Rpython轉換爲本機代碼。目前它有一個Python前端。我想知道是否有可能編寫一個Java Bytecode前端給pypy製作一個備用的酷JVM(用(R)Python編寫)是否有可能使用pypy將Java字節碼編譯爲本地代碼?
2
A
回答
3
用於Java字節碼的RPython解釋器不會是Java字節碼到本地代碼的編譯器。 RPython代碼被編譯爲本地代碼,而不是解釋器正在解釋的代碼。
在運行時(某些)解釋的代碼將被JIT編譯爲本地代碼,但這完全不同,並且HotSpot VM已經這樣做了。鑑於HotSpot已經在很長的一段時間內得到了發展,並且擁有嚴重的資源,並且專門針對Java進行了調整,所以我懷疑你可以得到任何與PyPy一樣好的東西。
PyPy的優勢在於,您可以將垃圾收集器和JIT編譯器這樣的東西作爲一個獨立於您正在解釋的語言的的框架編寫。然後很多人可以爲很多語言編寫大量的解釋器,並以相當高級的易於編寫的方式編寫它們,但它們仍然都可以獲得高質量的GC,JIT編譯器等,而無需專門爲其執行每種語言。 PyPy不太可能成爲現有項目的合理替代品,該項目已經沉浸在大量資源中,用於開發專門針對其語言進行調整的高度優化的GC和JIT編譯器。
相關問題
- 1. 是否有可能將C代碼編譯爲Javascript代碼?
- 2. 是否有可能本機編譯Python(超越pyc字節碼)?
- 3. 是否有可能將.NET IL代碼編譯爲機器代碼?
- 4. 是否可以將LLVM字節碼轉換爲Java字節碼?
- 5. 是否有可能將.NET字節碼編譯爲機器語言?
- 6. 是否有可能使用python編譯c代碼?
- 7. 是否有可能使用Tuples進行WP7 Beta編譯代碼?
- 8. 是否可以將一串Clojure代碼編譯爲java的類?
- 9. 是否有可能爲iPad編譯Fortran代碼?
- 10. 如何將JVM彙編代碼編譯爲字節碼?
- 11. Titanium Mobile是否將JavaScript轉換爲本地Java或Objective C編譯的代碼?
- 12. 在編譯器將其轉換爲字節碼之前,是否可以從jython中找到java源代碼?
- 13. Java註釋的默認值是否編譯爲字節碼?
- 14. 可能反編譯R字節碼?
- 15. 是否有可能將x86 32位彙編代碼轉換爲等效的JVM字節代碼並執行它?
- 16. 反彙編Java JIT編譯好的本地字節碼
- 17. 是否有可能以編程方式在內存中編譯java源代碼?
- 18. 爲什麼java解釋代碼是否可以編譯它?
- 19. 將Java源代碼翻譯爲字節碼時的優化
- 20. 是否有JavaScript的本地機器代碼編譯器?
- 21. 是否有可能將使用C++ 11編譯的庫鏈接到需要使用C++編譯的代碼03
- 22. 將整個Python標準庫編譯爲字節碼是否可行且可行?
- 23. Java編譯器對象代碼(字節代碼?)
- 24. 將java編譯爲本機代碼的性能如何?
- 25. AngularJS - 是否有可能從代碼編譯和鏈接模板?
- 26. 幫我翻譯使用字節的Java代碼到jython代碼
- 27. gcc是否可以不編譯代碼?
- 28. 是否有可能使Java代碼爲Groovy風格
- 29. 有沒有辦法將C++代碼編譯爲Microsoft .Net CIL(字節碼)?
- 30. 是否有可能直接用Java字節碼指令編寫程序?
也許值得注意的是,pypy的JIT專門針對** dynamic **語言進行了調整。有可能它的靜態效果不好。 – fijal 2012-03-01 23:43:43