-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Closed
Labels
User StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone
Description
Meta issue to track improvements around startup for Dynamic PGO (Non-PGO might also benefit from some of these), I assume it makes sense to track them separately from the general "Dynamic PGO Improvements" issue to leave that for general/CQ improvements.
Planned for .NET 8
- Instrument only hot Tier0 and R2R code PGO: Add new tiers #70941
- General startup improvements
Planned for Jan-Mar'23
- Reduce startup overhead from PGO
- PGO: Reduce number of block counters #81731
- Optimize JIT_ClassProfile32 #82014
- Don't instrument methods with [Intrinsic] #81983
- Remove CPU cache contention for instrumented code #81932
- JIT: in minimal profiling mode, ignore impact of conditional throws #81972
- JIT: scalable profile counter mode #84427
- JIT: consider running some optimizations in Tier0 #9120
- Measure startup time of real world applications with dynamic PGO
- Determine the actual apps to use
- Run the tests and gather startup time data
- Analyze the data
Under consideration
- Prioritize methods in the promotion queue.
- Don't delay call-counting-installation because of R2R'd code #77635
-- Pending on David Wrighton's API work Fix the multicore performance of mapping from an instruction pointer to a MethodDesc #79021
- Don't delay call-counting-installation because of R2R'd code #77635
- Improve CallCountingStubs Make call-counting, class probes, block counters cache-friendly #72387
- Put cells inside CallCountingStubs to avoid double indirect loads Make call-counting, class probes, block counters cache-friendly #72387 (comment)
- Consider improving mutlithread/NUMA experience where multiple threads poll the same location of memory at the same time
- Tiered JIT: redundant compilations #76402 Inline tiny methods in Tier0 too to avoid redundant compilations for simple/auto properties and don't occupy a seat in the promotion queue. A fairly simple prototype for this reduced number of jitted functions from 250k to 200k for BingSNR. We can start from allowing inlining for empty or
return CNS
kinds of methods.
Metadata
Metadata
Assignees
Labels
User StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Type
Projects
Status
Done