Open retronym opened 6 years ago
I use -XX:+PrintNMethodStatistics
for seeing the total amount of generated code. To get assembly and size for an individual method I use -XX:+UnlockDiagnosticVMOptions -XX:CompileCommand=print,<qualified-class>.<method>
On HotSpot, the Scala optimizer improved the Scala compiler performance around 5% last time I checked. It would be great if the benefit of the Scala optimizer was zero (or even negative) on Graal.
Flight Recorder logs unusually long JIT compilation times. For instance
scala.reflect.internal.TreeGen#mkTemplate
reports 680ms to generated 192k of code.The method itself isn't that big, but it uses a bunch of combinators that
scalac -opt
inlines.Are we paying a price for this indiscriminate inlining? More code to compile could be slowing down our warm up; having too much native code could be hurting our instruction cache hit rate, etc.
/cc @lrytz @vjovanov