News for hackers. Stuff that matters.
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.

Re:Java is very fast, if you don’t create many objects by blackoil on Monday September 12, 2022 @09:53PM (#32819870)
AOT would require recompilation and deployment. JIT can do it for the same code with final params.

When the log level is not final, branch prediction Will ensure JIT code is faster.