Startup time of small workloads
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Description
Lists of ideas for startup time improvements of small workloads identified during investigation of https://github.com/dotnet/runtime/issues/120288:
- [x] Expensive dictionary in socket error map (fixed by https://github.com/dotnet/runtime/pull/120364)
- [x] Remove redundant Guid parsing in RuntimeEventSource's static constructor (fixed by https://github.com/dotnet/runtime/pull/120413)
- [x] Expensive GUID lookup/generation in EventSource initialization (https://github.com/dotnet/runtime/pull/120422 and https://github.com/dotnet/runtime/issues/28290)
- [x] R2R rejected for methods implemented using SIMD (https://github.com/dotnet/runtime/issues/120367)
- [x] Load ICU more lazily (https://github.com/dotnet/runtime/pull/120685)
- [x] R2R code missing for static interface methods (https://github.com/dotnet/runtime/issues/120405)
- [ ] 1000 more types loaded in .NET 10 vs. .NET 8 (https://github.com/dotnet/runtime/issues/120406)
- [ ] Resolution of static virtual methods in the JIT interface is O((N + M)*C) where N is the number of MethodImpl records on a type, M is the number of MethodImpl records on all interfaces which are implemented on a type, and C is the number of calls in the method being jitted.
- [ ] Missing profile data for libcoreclr.so on Linux (the profile data seems to have methods for libclrjit.so only)
- [ ] Startup regression for the first 25 invocations https://github.com/dotnet/runtime/issues/120681
- [ ] R2R for Vector64/128/256/512 instantiations https://github.com/dotnet/runtime/issues/120816
- [ ] ASP.NET shared framework is missing PGO data
- [ ] Merge debugger and diagnose server threads into one
- [ ] Eliminate Win32 PAL thread (part of #31721)
Contributor guide
Assessment
This issue has not been assessed yet.