使用-Xcomp将Java编译为本机代码是否总能提高性能?

vmpqdwk3  于 5个月前  发布在  Java
关注(0)|答案(1)|浏览(99)

在一个Oracle post中,提到C2将热点编译成高效的本机代码,并将其存储在代码缓存中。一个previous discussion指出,使用-Xcomp将所有代码编译成本机代码,但这可能会降低整体性能。
这让我感到困惑。完全在本机代码上运行不是最有效的吗?即使像一些评论所说的那样,“冷”本机代码比紧凑的字节码更庞大(正如这篇文章所指出的,通常情况并非如此),考虑到C/C++只使用本机代码运行,它不应该仍然是可行的吗?
期待着详细的解释与赞赏

5kgi1eie

5kgi1eie1#

感谢以上评论中的所有见解,答案是否定的,因为JIT编译器是dynamic compilation的一种形式。
动态编译使得利用运行时信息生成高性能本机代码成为可能。
希望这篇文章能帮助java程序员更好地理解JIT。

相关问题