Description
openedon Dec 15, 2016
The jit can only apply so many optimizations as it is time constrained at runtime.
AOT/NGen which has more time ends up with asm but loses some optimizations the jit can do at runtime as it needs to be conservative as to cpu architecture; static readonly to consts etc
The compile to il compilers (C#/VB.NET/etc); which aren't as time constrained but have a lot of optimizations considered out of scope.
Do we need a 3rd compiler between roslyn and jit that optimizes the il as part of the regular compile or a "publish" compile?
This could be a collaboration between the jit and roslyn teams?
I'm sure there are lots of low hanging fruit between the two; that the jit would like to do but are too expensive.
There is also the whole program optimization or linker + tree shaking which is also a component in this picture. (e.g. Mono/Xamarin linker). Likely also partial linking (e.g. nugets/non-platform runtime libs)
From #15644 (comment)
Activity