Re:Scala 3.0
by hocuspocus on Friday May 14, 2021 @05:36AM
(#27152463)
http://dotty.epfl.ch/docs/reference/metaprogramming/inline.h...
But it's there for meta-programming purposes, not micro-optimizations. I don't think trying to outsmart the JVM at inlining is worth it.
This is correct, though the inline feature does also unlock some optimizations. For instance, see this example from the docs where a recursive method is optimized to a few sequential commands when some of its parameters are constants:
http://dotty.epfl.ch/docs/reference/metaprogramming/inline.h...
This effectively makes it possible to have a limited form of partial evaluation.
how far it supports inlining of types and data structures to achieve or get near to zero cost abstraction after normal warm up of the code on JVM ?