jdk热点c1编译器在javaazure函数中默认是启用的,c2是禁用的

m3eecexj  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(479)

azure函数文档建议在azure函数中启用热点编译器c1,默认情况下禁用c2。这背后的原因是什么?我想让c1和c2都能利用热点编译器优化,但是我想知道它是否会在azure函数中引起任何问题,并且由于这个默认行为被添加。
以下是文档中给出的选项:

-XX:+TieredCompilation (To enable C1)
-XX:TieredStopAtLevel=1 (To disable C2)
lndjwyie

lndjwyie1#

-XX:TieredStopAtLevel=1 实际上只启用 C1 编译器(通过禁用 C2 ). 这样做的原因是更快的启动时间,但明显损害了以后的优化。
同样的模式也适用于 Spring 他们的spring boot插件和 bootRun ,顺便说一句。
另一个原因是,他们可以测量时间,发现由于这些函数只运行一次, C2 可能没那么好,但这只是猜测。

相关问题