dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.26k stars 4.73k forks source link

Reduce the JIT's work for the "fast compile" path by simplifying IR #6755

Open pkukol opened 8 years ago

pkukol commented 8 years ago

Some IL constructs are currently expanded to generate faster code at the expense of larger IR / more temps / etc. For the "maximum compile speed / generated code quality is secondary" path some of these should be simplified to reduce the amount of work the compiler has to do (at the expense of the generated code being slightly slower). One specific example of this would be generic dictionary lookups, where the compiler could simply always generate code to invoke the runtime helper (see Compiler::impLookupToTree() and friends).

category:throughput theme:throughput skill-level:expert cost:extra-large

AndyAyersMS commented 6 years ago

See dotnet/coreclr#13305 for some attempt at doing this.

TIHan commented 1 year ago

I think this is worth re-evaluating as we still want to improve throughput.