Skip to content

Disable tiered compilation in the compiler#80154

Merged
jaredpar merged 1 commit into
mainfrom
dev/jaredpar/tier
Sep 5, 2025
Merged

Disable tiered compilation in the compiler#80154
jaredpar merged 1 commit into
mainfrom
dev/jaredpar/tier

Conversation

@jaredpar

@jaredpar jaredpar commented Sep 5, 2025

Copy link
Copy Markdown
Member

VS performance data indicated that tiered compilation was negatively impacting compiler throughput. Using the
replay tool I measured the impact of R2R, Tier and Tier PGO on a number of scenarios and got the following data:

Scenario R2R Tier Tier PGO Total Compilations Iterations Avg Time
complog Off Off Off 11 5 0:04
complog Off On On 11 5 0:03
CSharp.Semantics Off Off Off 94 5 0:05
CSharp.Semantics Off On On 94 5 0:08
CSharp.Semantics On Off Off 94 5 0:05
CSharp.Semantics On On On 94 5 0:09
Compilers.slnf Off Off Off 510 3 1:02
Compilers.slnf Off On On 510 3 1:28
Compilers.slnf On Off Off 510 3 0:56
Compilers.slnf On On Off 510 3 1:08
Compilers.slnf On On On 510 3 1:30
Roslyn.sln Off Off Off 1461 3 1:02
Roslyn.sln Off On Off 1461 3 1:30
Roslyn.sln On Off Off 1461 3 0:58
Roslyn.sln On On On 1461 3 1:28
Roslyn.sln On On Off 1461 3 1:11

This strongly indicates that tiering is having a negative impact on compiler throughput. For now we're going to disable it and measure the impact in the VS perf labs.

Note:

Used the %DOTNET_TieredCompilation% and %DOTNET_TieredPGO% to control Tier and TierPGO respectively

VS performance data indicated that tiered compilation was negatively
impacting compiler throughput. Using the
[replay tool](https://github.com/dotnet/roslyn/tree/main/src/Tools/Replay)
I measured the impact of R2R, Tier and Tier PGO on a number of
scenarios and got the following data:

| Scenario   | R2R | Tier | Tier PGO | Total Compilations | Iterations | Avg Time |
| ---------- | --- | ---- | -------- | ------------------ | ---------- | -------- |
| complog    | Off | Off  | Off      | 11                 | 5          | 0:04     |
| complog    | Off | On   | On       | 11                 | 5          | 0:03     |
| CSharp.Semantics  | Off | Off  | Off      | 94                 | 5          | 0:05     |
| CSharp.Semantics  | Off | On   | On       | 94                 | 5          | 0:08     |
| CSharp.Semantics  | On  | Off  | Off      | 94                 | 5          | 0:05     |
| CSharp.Semantics  | On  | On   | On       | 94                 | 5          | 0:09     |
| Compilers.slnf  | Off | Off  | Off      | 510                | 3          | 1:02     |
| Compilers.slnf  | Off | On   | On       | 510                | 3          | 1:28     |
| Compilers.slnf  | On  | Off  | Off      | 510                | 3          | 0:56     |
| Compilers.slnf  | On  | On   | Off      | 510                | 3          | 1:08     |
| Compilers.slnf  | On  | On   | On       | 510                | 3          | 1:30     |
| Roslyn.sln | Off | Off  | Off      | 1461               | 3          | 1:02     |
| Roslyn.sln | Off | On   | Off      | 1461               | 3          | 1:30     |
| Roslyn.sln | On  | Off  | Off      | 1461               | 3          | 0:58     |
| Roslyn.sln | On  | On   | On       | 1461               | 3          | 1:28     |
| Roslyn.sln | On  | On   | Off      | 1461               | 3          | 1:11     |

This strongly indicates that tiering is having a negative impact on
compiler throughput. For now we're going to disable it and measure the
impact in the VS perf labs.

Note:

Used the `%DOTNET_TieredCompilation%` and `%DOTNET_TieredPGO%` to
control `Tier` and `TierPGO` respectively

@RikkiGibson RikkiGibson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mainly want @akhera99 to have heads up about this since we want to keep an eye on any changes that might occur in the resulting insertion.

@jaredpar jaredpar merged commit 589146c into main Sep 5, 2025
25 checks passed
@jaredpar jaredpar deleted the dev/jaredpar/tier branch September 5, 2025 20:00
@dotnet-policy-service dotnet-policy-service Bot added this to the Next milestone Sep 5, 2025
@akhera99 akhera99 modified the milestones: Next, 18.0 P1, 18.0 P2 Sep 22, 2025
jjonescz added a commit that referenced this pull request Feb 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants