Q.1。什么免费编译器可以生成最优的Java字节码?
Q.2。哪些免费虚拟机最快地执行Java字节码(在64位多核CPU上)?
Q.3。此列表中缺少其他(当前活动的)编译器项目:
Q.4。编译器可以做什么性能改进JIT不能(或不能)?
Q.5。最近的一些基准,比较或枪战(第一季度或第二季度)在哪里?
谢谢!
答案 0 :(得分:6)
Q.1。什么免费编译器生成最快的可执行Java字节码?
问题没有意义。字节码未执行。当使用好的JIT时,编译的字节码将不会足以影响生成的机器代码的效率。
Q.2。哪些免费虚拟机最快地执行Java字节码(在64位多核CPU上)?
这是一个更好的问题。我相信它是JRockit
Q.3。此列表中缺少其他(当前活动的)编译器项目:
我相信你错过了JRockit。但是对于更完整的列表,我会看Wikipedia: List of Java Virtual Machines。查看他们是否活跃应该是一件容易的事。
Q.4。编译器可以做什么性能改进JIT不能(或不能)?
技术上我认为没有。在优化方面,字节码编译基本上是错误的。
Q.5。最近的一些基准,比较或枪战(第一季度或第二季度)在哪里?
谷歌是你的朋友。这两个是:
不幸的是,那些不包括那么多虚拟机。
答案 1 :(得分:1)
Q.4。编译器可以做什么性能改进JIT不能(或不能)?
JIT编译器可以执行全局优化。字节码编译器无法执行此操作,因为它无法查看在程序运行期间加载的所有库。
JIT编译器可以根据观察到的当前程序执行行为执行分支优化。字节码编译器不能这样做,因为在程序开始运行时,编译器已经不在图片中了。
答案 2 :(得分:0)
目前唯一可行的javac替代方案是Eclipse编译器。
看看它。问题是你发现效率低下,如果它真的很重要。