Re:Java is very fast, if you don’t create many objects
by kaba0 on Monday September 12, 2022 @01:13PM
(#32813372)
Eliding a branch makes not only compilation faster, but the resulting code as well. That’s how for example some logging statements become zero-cost when the debug level is set lower than their corresponding one. JIT compiled languages don’t care too deeply about startup, they shine with longer runtimes.
Re:Java is very fast, if you don’t create many objects
by hbrn on Monday September 12, 2022 @01:40PM
(#32813926)
Are you sure you're not confusing zero-cost with almost zero-cost? Even zerolog talks about negligible costs after most aggressive optimizations, not zero: https://github.com/obsidiandynamics/zerolog
If you're just using constants in your code to set logging level, AOT compilation can do exactly the same optimizations.
The link you shared talks about skipping compilation for certain branches to speed up the JIT compilation. Such optimization makes startup faster, but it doesn't make code execution faster. AOT compiled languages don't have slow startup problem in the first place.
It's like saying paper books are worse than e-ink readers because you cannot charge paper books.