代码之家  ›  专栏  ›  技术社区  ›  Juan Delgado

Java字节码编译器基准

  •  4
  • Juan Delgado  · 技术社区  · 6 年前

    Q. 什么免费编译器产生最优化的Java字节码?

    Q. 2. 什么免费虚拟机以最快的速度执行Java字节码(64位多核CPU)?

    Q.3. 此列表中缺少哪些其他(当前活动的)编译器项目:

    Q.4. 编译器可以做哪些JIT不能(或不可以)的性能改进?

    Q.5. 最近有哪些基准、比较或淘汰赛(针对第一季度或第二季度)?

    谢谢您!

    3 回复  |  直到 15 年前
        1
  •  6
  •   aioobe    15 年前

    Q. 什么免费编译器产生最快的可执行Java字节码?

    这个问题没有真正意义。未执行字节码。在使用良好的JIT时,编译后的字节码不会有足够的差异,从而影响生成的机器代码的效率。

    Q. 2. 什么免费虚拟机以最快的速度执行Java字节码(64位多核CPU)?

    这是一个更好的问题。我相信是 JRockit

    Q.3. 此列表中缺少哪些其他(当前活动的)编译器项目:

    我相信你错过了Jrockit。但要想得到更完整的清单,我要看一下 Wikipedia: List of Java Virtual Machines . 查看他们是否活跃应该是一项简单的任务。

    Q.4. 编译器可以做哪些JIT不能(或不可以)做的性能改进?

    技术上我想没有。字节码编译在优化方面基本上是错误的。

    Q.5. 最近有哪些基准、比较或淘汰赛(针对第一季度或第二季度)?

    谷歌是你的朋友。这是两个:

    不幸的是,这些没有涵盖那么多虚拟机。

        2
  •  1
  •   Stephen C    15 年前

    Q.4.编译器可以做哪些JIT不能(或不可以)做的性能改进?

    JIT编译器可以执行全局优化。字节码编译器不能这样做,因为它看不到在程序运行期间加载的所有库。

    JIT编译器可以根据观察到的当前程序执行行为执行分支优化。字节码编译器不能这样做,因为到程序开始运行时,编译器已经不在图片中了。

        3
  •  0
  •   Thorbjørn Ravn Andersen    15 年前

    目前唯一可行的Javac替代方案是Eclipse编译器。

    看一看。问题是你发现什么效率低下,是否真的很重要。