pypy 目前使用 Pluggable JIT 和 GC 将 Rpython 转换为 Native 代码。目前它有一个 Python 前端。我想知道是否可以为 pypy 编写一个 Java 字节码前端来制作一个替代的酷 JVM(用 (R)Python 编写)
问问题
537 次
1 回答
3
Java 字节码的 RPython 解释器不会是 Java 字节码到本机代码的编译器。RPython 代码被编译为本机代码,而不是解释器正在解释的代码。
在运行时(部分)解释代码将被 JIT 编译为本机代码,但这是完全不同的,HotSpot VM 已经这样做了。鉴于 HotSpot 已经开发了很长一段时间,背后有大量资源,并且专门针对 Java 进行了调整,我怀疑你能否从 PyPy 中获得任何与它一样好的东西。
PyPy 的优势在于您可以将诸如垃圾收集器和 JIT 编译器之类的东西编写为一个独立于您正在解释的语言工作的框架。然后很多人可以为多种语言编写大量解释器,并以相当高级且易于编码的方式编写它们,但他们仍然可以获得高质量的 GC、JIT 编译器等,而无需专门实现它们每种语言。PyPy 不太可能成为现有项目的合理替代方案,现有项目已经投入大量资源开发高度优化的 GC 和专门针对其语言调整的 JIT 编译器。
于 2012-02-28T04:52:40.053 回答