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

Jvm 是否可以使用pypy将Java字节码编译为本机代码?,jvm,pypy,Jvm,Pypy,pypy目前使用可插入JIT和GC将Rpython转换为本机代码。目前它有一个Python前端。我想知道是否有可能将Java字节码前端写入pypy,从而生成另一个很酷的JVM(用(R)Python编写)Java字节码的RPython解释器不会是Java字节码到本机代码的编译器。RPython代码编译为本机代码,而不是解释器正在解释的代码 在运行时(一些)解释的代码将被JIT编译为本机代码,但这是完全不同的,HotSpot VM已经做到了这一点。鉴于HotSpot已经开发了很长一段时间,背后有大量

pypy目前使用可插入JIT和GC将Rpython转换为本机代码。目前它有一个Python前端。我想知道是否有可能将Java字节码前端写入pypy,从而生成另一个很酷的JVM(用(R)Python编写)

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

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


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

也许还值得注意的是,PyPy的JIT专门针对动态语言进行了优化。很有可能它的性能不如静态的。