是否可以使用 pypy 将 Java 字节码编译为本机代码



pypy目前使用Pluggable JIT和GC将Rpython转换为本机代码。目前它有一个 Python 前端 .我想知道是否有可能编写一个 Java 字节码前端来制作一个替代的酷 JVM(用 (R(Python 编写(

Java 字节码

的 RPython 解释器不会是 Java 字节码到本机代码的编译器。RPython 代码被编译为本机代码,而不是解释器正在解释的代码。

在运行时(部分(解释的代码将被 JIT 编译为本机代码,但这完全不同,HotSpot VM 已经这样做了。鉴于 HotSpot 已经开发了很长时间,背后有大量的资源,并且专门针对 Java 进行了调整,我怀疑你是否能从 PyPy 中获得任何接近它的东西。

PyPy 的优势在于,您可以将垃圾收集器和 JIT 编译器之类的东西编写为独立于您正在解释的语言工作的框架。然后很多人可以为多种语言编写大量解释器,并以相当高级的易于编码的方式编写它们,但他们仍然都获得了高质量的GC,JIT编译器等,而不必专门为每种语言实现它们。PyPy 不太可能成为现有项目的合理替代方案,该项目已经投入了大量资源来开发高度优化的 GC 和 JIT 编译器,这些编译器专门针对其语言进行了调优。

最新更新