Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JIT: Set naive likelihoods when initializing preds #98192

Merged
merged 3 commits into from
Feb 9, 2024

Conversation

amanasifkhalid
Copy link
Member

Part of #93020. Per discussion on #98054, set "naive" edge likelihoods (in other words, assume every successor edge is equally likely to be taken) in fgAddRefPred when initializing preds.

cc @dotnet/jit-contrib

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Feb 8, 2024
@ghost ghost assigned amanasifkhalid Feb 8, 2024
@ghost
Copy link

ghost commented Feb 8, 2024

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

Part of #93020. Per discussion on #98054, set "naive" edge likelihoods (in other words, assume every successor edge is equally likely to be taken) in fgAddRefPred when initializing preds.

cc @dotnet/jit-contrib

Author: amanasifkhalid
Assignees: amanasifkhalid
Labels:

area-CodeGen-coreclr

Milestone: -


const unsigned numSucc = blockPred->NumSucc();
assert(numSucc > 0);
flow->setLikelihood(1.0 / numSucc);
Copy link
Member Author

Choose a reason for hiding this comment

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

@AndyAyersMS you mentioned the likelihood calculation should consider the edge's duplicate count. I ran into issues with BBJ_COND blocks with true/false branches to the same target, as NumSucc handles this case by returning 1 for such blocks. In such cases, if we calculate the likelihood as (1.0 / numSucc) / dupCount, the edge likelihood overflows to (1.0 / 1) * 2 = 2.0. So leaving the dup count out of the calculation seems to work for that case, but I think this will give us wonky likelihoods for BBJ_SWITCH blocks with duplicate successors.

Is it possible to encounter BBJ_SWITCH blocks with duplicate successors this early on in the JIT? If so, we can use BasicBlock::NumSucc(Compiler *) to get the number of unique switch successors to get the edge likelihoods right, though it'll probably cost a bit more TP.

Copy link
Member

Choose a reason for hiding this comment

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

For switches having dups is pretty common.

Maybe you just need to special-case BBJ_COND and check for the odd cases where both targets are the same block.

@ryujit-bot
Copy link

Diff results for #98192

Throughput diffs

Throughput diffs for windows/arm64 ran on linux/x64

Overall (+0.03% to +0.05%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.04%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.05%
coreclr_tests.run.windows.arm64.checked.mch +0.03%
libraries.crossgen2.windows.arm64.checked.mch +0.03%
libraries.pmi.windows.arm64.checked.mch +0.04%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.04%
realworld.run.windows.arm64.checked.mch +0.03%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.05%
MinOpts (+0.03% to +0.11%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.03%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.05%
coreclr_tests.run.windows.arm64.checked.mch +0.03%
libraries.crossgen2.windows.arm64.checked.mch +0.05%
libraries.pmi.windows.arm64.checked.mch +0.08%
libraries_tests.run.windows.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.11%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.04%
FullOpts (+0.03% to +0.05%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.04%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
benchmarks.run_tiered.windows.arm64.checked.mch +0.05%
coreclr_tests.run.windows.arm64.checked.mch +0.03%
libraries.crossgen2.windows.arm64.checked.mch +0.03%
libraries.pmi.windows.arm64.checked.mch +0.04%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.04%
realworld.run.windows.arm64.checked.mch +0.03%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.05%

Details here


@ryujit-bot
Copy link

Diff results for #98192

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 1,610,272 contexts (368,644 MinOpts, 1,241,628 FullOpts).

MISSED contexts: 3,428 (0.21%)

Overall (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.arm64.checked.mch 301,232,224 -16
FullOpts (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.arm64.checked.mch 140,438,460 -16

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 1,620,764 contexts (360,162 MinOpts, 1,260,602 FullOpts).

MISSED contexts: 3,086 (0.19%)

Overall (-15 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.x64.checked.mch 247,129,711 -15
FullOpts (-15 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.x64.checked.mch 106,762,830 -15

Assembly diffs for osx/arm64 ran on windows/x64

Diffs are based on 1,733,061 contexts (561,303 MinOpts, 1,171,758 FullOpts).

MISSED contexts: 3,460 (0.20%)

Overall (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.osx.arm64.checked.mch 390,212,620 -16
FullOpts (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.osx.arm64.checked.mch 138,801,044 -16

Assembly diffs for windows/arm64 ran on windows/x64

Diffs are based on 1,477,297 contexts (263,527 MinOpts, 1,213,770 FullOpts).

MISSED contexts: 3,464 (0.23%)

Overall (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.arm64.checked.mch 277,084,748 -16
FullOpts (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.arm64.checked.mch 138,792,180 -16

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 1,999,231 contexts (587,594 MinOpts, 1,411,637 FullOpts).

MISSED contexts: 3,657 (0.18%)

Overall (-2 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x64.checked.mch 296,147,901 -2
FullOpts (-2 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x64.checked.mch 110,373,511 -2

Details here


Assembly diffs for linux/arm ran on windows/x86

Diffs are based on 1,449,330 contexts (345,734 MinOpts, 1,103,596 FullOpts).

MISSED contexts: 55,656 (3.70%)

Overall (+0 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.arm.checked.mch 321,240,776 +0
FullOpts (+0 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.arm.checked.mch 108,805,826 +0

Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 1,618,717 contexts (327,626 MinOpts, 1,291,091 FullOpts).

MISSED contexts: base: 11,019 (0.68%), diff: 11,022 (0.68%)

Overall (+38 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x86.checked.mch 215,108,619 +38
FullOpts (+38 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x86.checked.mch 92,847,595 +38

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Overall (+0.03% to +0.05%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.04%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.05%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.03%
libraries.pmi.linux.arm64.checked.mch +0.04%
libraries_tests.run.linux.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.04%
realworld.run.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.05%
MinOpts (+0.03% to +0.11%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.04%
benchmarks.run_tiered.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.05%
libraries.pmi.linux.arm64.checked.mch +0.07%
libraries_tests.run.linux.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
realworld.run.linux.arm64.checked.mch +0.11%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.04%
FullOpts (+0.03% to +0.05%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.04%
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.05%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.03%
libraries.pmi.linux.arm64.checked.mch +0.04%
libraries_tests.run.linux.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.04%
realworld.run.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.05%

Throughput diffs for linux/x64 ran on windows/x64

Overall (+0.03% to +0.05%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.05%
benchmarks.run_tiered.linux.x64.checked.mch +0.05%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.04%
libraries.pmi.linux.x64.checked.mch +0.04%
libraries_tests.run.linux.x64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.04%
realworld.run.linux.x64.checked.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.05%
MinOpts (+0.03% to +0.15%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.05%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.09%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.05%
realworld.run.linux.x64.checked.mch +0.15%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
FullOpts (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.06%
benchmarks.run_tiered.linux.x64.checked.mch +0.05%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.04%
libraries.pmi.linux.x64.checked.mch +0.04%
libraries_tests.run.linux.x64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.04%
realworld.run.linux.x64.checked.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.05%

Throughput diffs for osx/arm64 ran on windows/x64

Overall (+0.03% to +0.05%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.04%
benchmarks.run_pgo.osx.arm64.checked.mch +0.05%
benchmarks.run_tiered.osx.arm64.checked.mch +0.05%
coreclr_tests.run.osx.arm64.checked.mch +0.03%
libraries.crossgen2.osx.arm64.checked.mch +0.03%
libraries.pmi.osx.arm64.checked.mch +0.04%
libraries_tests.run.osx.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.04%
realworld.run.osx.arm64.checked.mch +0.03%
MinOpts (+0.03% to +0.11%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.04%
benchmarks.run_pgo.osx.arm64.checked.mch +0.05%
benchmarks.run_tiered.osx.arm64.checked.mch +0.05%
coreclr_tests.run.osx.arm64.checked.mch +0.03%
libraries.crossgen2.osx.arm64.checked.mch +0.05%
libraries.pmi.osx.arm64.checked.mch +0.08%
libraries_tests.run.osx.arm64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.05%
realworld.run.osx.arm64.checked.mch +0.11%
FullOpts (+0.03% to +0.05%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.04%
benchmarks.run_pgo.osx.arm64.checked.mch +0.05%
benchmarks.run_tiered.osx.arm64.checked.mch +0.05%
coreclr_tests.run.osx.arm64.checked.mch +0.03%
libraries.crossgen2.osx.arm64.checked.mch +0.03%
libraries.pmi.osx.arm64.checked.mch +0.04%
libraries_tests.run.osx.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.04%
realworld.run.osx.arm64.checked.mch +0.03%

Throughput diffs for windows/x64 ran on windows/x64

Overall (+0.03% to +0.06%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.04%
benchmarks.run.windows.x64.checked.mch +0.05%
benchmarks.run_pgo.windows.x64.checked.mch +0.06%
benchmarks.run_tiered.windows.x64.checked.mch +0.06%
coreclr_tests.run.windows.x64.checked.mch +0.03%
libraries.crossgen2.windows.x64.checked.mch +0.04%
libraries.pmi.windows.x64.checked.mch +0.04%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.04%
realworld.run.windows.x64.checked.mch +0.03%
smoke_tests.nativeaot.windows.x64.checked.mch +0.05%
MinOpts (+0.03% to +0.15%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.05%
benchmarks.run.windows.x64.checked.mch +0.05%
benchmarks.run_pgo.windows.x64.checked.mch +0.06%
benchmarks.run_tiered.windows.x64.checked.mch +0.06%
coreclr_tests.run.windows.x64.checked.mch +0.03%
libraries.crossgen2.windows.x64.checked.mch +0.06%
libraries.pmi.windows.x64.checked.mch +0.09%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.05%
realworld.run.windows.x64.checked.mch +0.15%
smoke_tests.nativeaot.windows.x64.checked.mch +0.04%
FullOpts (+0.03% to +0.06%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.04%
benchmarks.run.windows.x64.checked.mch +0.05%
benchmarks.run_pgo.windows.x64.checked.mch +0.06%
benchmarks.run_tiered.windows.x64.checked.mch +0.05%
coreclr_tests.run.windows.x64.checked.mch +0.03%
libraries.crossgen2.windows.x64.checked.mch +0.04%
libraries.pmi.windows.x64.checked.mch +0.04%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.04%
realworld.run.windows.x64.checked.mch +0.03%
smoke_tests.nativeaot.windows.x64.checked.mch +0.05%

Details here


Throughput diffs for linux/arm ran on windows/x86

Overall (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.04%
benchmarks.run_pgo.linux.arm.checked.mch +0.03%
benchmarks.run_tiered.linux.arm.checked.mch +0.04%
coreclr_tests.run.linux.arm.checked.mch +0.03%
libraries.crossgen2.linux.arm.checked.mch +0.03%
libraries.pmi.linux.arm.checked.mch +0.04%
libraries_tests.run.linux.arm.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.04%
realworld.run.linux.arm.checked.mch +0.04%
MinOpts (+0.03% to +0.10%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.03%
benchmarks.run_pgo.linux.arm.checked.mch +0.03%
benchmarks.run_tiered.linux.arm.checked.mch +0.04%
coreclr_tests.run.linux.arm.checked.mch +0.03%
libraries.crossgen2.linux.arm.checked.mch +0.05%
libraries.pmi.linux.arm.checked.mch +0.08%
libraries_tests.run.linux.arm.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.04%
realworld.run.linux.arm.checked.mch +0.10%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.04%
benchmarks.run_pgo.linux.arm.checked.mch +0.03%
benchmarks.run_tiered.linux.arm.checked.mch +0.04%
coreclr_tests.run.linux.arm.checked.mch +0.03%
libraries.crossgen2.linux.arm.checked.mch +0.03%
libraries.pmi.linux.arm.checked.mch +0.04%
libraries_tests.run.linux.arm.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.04%
realworld.run.linux.arm.checked.mch +0.04%

Throughput diffs for windows/x86 ran on windows/x86

Overall (+0.03% to +0.05%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.04%
benchmarks.run_tiered.windows.x86.checked.mch +0.05%
coreclr_tests.run.windows.x86.checked.mch +0.03%
libraries.crossgen2.windows.x86.checked.mch +0.03%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.03%
MinOpts (+0.02% to +0.16%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.05%
benchmarks.run_tiered.windows.x86.checked.mch +0.05%
coreclr_tests.run.windows.x86.checked.mch +0.02%
libraries.crossgen2.windows.x86.checked.mch +0.05%
libraries.pmi.windows.x86.checked.mch +0.11%
libraries_tests.run.windows.x86.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.05%
realworld.run.windows.x86.checked.mch +0.16%
FullOpts (+0.03% to +0.05%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.04%
benchmarks.run_tiered.windows.x86.checked.mch +0.05%
coreclr_tests.run.windows.x86.checked.mch +0.03%
libraries.crossgen2.windows.x86.checked.mch +0.03%
libraries.pmi.windows.x86.checked.mch +0.04%
libraries_tests.run.windows.x86.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.03%

Details here


Throughput diffs for linux/arm64 ran on linux/x64

Overall (+0.03% to +0.05%)
Collection PDIFF
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.05%
benchmarks.run.linux.arm64.checked.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.04%
libraries.pmi.linux.arm64.checked.mch +0.04%
realworld.run.linux.arm64.checked.mch +0.04%
libraries.crossgen2.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.05%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
MinOpts (+0.03% to +0.12%)
Collection PDIFF
benchmarks.run_pgo.linux.arm64.checked.mch +0.05%
benchmarks.run_tiered.linux.arm64.checked.mch +0.05%
benchmarks.run.linux.arm64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
libraries.pmi.linux.arm64.checked.mch +0.09%
realworld.run.linux.arm64.checked.mch +0.12%
libraries.crossgen2.linux.arm64.checked.mch +0.06%
libraries_tests.run.linux.arm64.Release.mch +0.04%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.05%
coreclr_tests.run.linux.arm64.checked.mch +0.03%
FullOpts (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run_pgo.linux.arm64.checked.mch +0.06%
benchmarks.run_tiered.linux.arm64.checked.mch +0.05%
benchmarks.run.linux.arm64.checked.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.04%
libraries.pmi.linux.arm64.checked.mch +0.04%
realworld.run.linux.arm64.checked.mch +0.04%
libraries.crossgen2.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.05%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.05%
coreclr_tests.run.linux.arm64.checked.mch +0.03%

Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.04% to +0.06%)
Collection PDIFF
coreclr_tests.run.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.05%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.05%
realworld.run.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.04%
libraries.crossgen2.linux.x64.checked.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.05%
benchmarks.run.linux.x64.checked.mch +0.05%
MinOpts (+0.03% to +0.16%)
Collection PDIFF
coreclr_tests.run.linux.x64.checked.mch +0.03%
benchmarks.run_tiered.linux.x64.checked.mch +0.05%
smoke_tests.nativeaot.linux.x64.checked.mch +0.05%
libraries_tests.run.linux.x64.Release.mch +0.05%
realworld.run.linux.x64.checked.mch +0.16%
benchmarks.run_pgo.linux.x64.checked.mch +0.05%
libraries.pmi.linux.x64.checked.mch +0.10%
libraries.crossgen2.linux.x64.checked.mch +0.06%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.06%
benchmarks.run.linux.x64.checked.mch +0.04%
FullOpts (+0.04% to +0.06%)
Collection PDIFF
coreclr_tests.run.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.06%
smoke_tests.nativeaot.linux.x64.checked.mch +0.06%
libraries_tests.run.linux.x64.Release.mch +0.05%
realworld.run.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.06%
libraries.pmi.linux.x64.checked.mch +0.04%
libraries.crossgen2.linux.x64.checked.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.05%
benchmarks.run.linux.x64.checked.mch +0.05%

Details here


@ryujit-bot
Copy link

Diff results for #98192

Throughput diffs

Throughput diffs for linux/arm64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.02%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.04%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.02%
benchmarks.run.linux.arm64.checked.mch +0.03%
MinOpts (+0.02% to +0.09%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.04%
libraries_tests.run.linux.arm64.Release.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.06%
realworld.run.linux.arm64.checked.mch +0.09%
benchmarks.run.linux.arm64.checked.mch +0.02%
FullOpts (+0.02% to +0.04%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.02%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.04%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.02%
benchmarks.run.linux.arm64.checked.mch +0.03%

Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.03%
libraries.pmi.linux.x64.checked.mch +0.03%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
realworld.run.linux.x64.checked.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
MinOpts (+0.03% to +0.14%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.05%
libraries.pmi.linux.x64.checked.mch +0.07%
libraries_tests.run.linux.x64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.04%
realworld.run.linux.x64.checked.mch +0.14%
smoke_tests.nativeaot.linux.x64.checked.mch +0.03%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.03%
libraries.pmi.linux.x64.checked.mch +0.03%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
realworld.run.linux.x64.checked.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%

Throughput diffs for osx/arm64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.03%
benchmarks.run_pgo.osx.arm64.checked.mch +0.04%
benchmarks.run_tiered.osx.arm64.checked.mch +0.04%
coreclr_tests.run.osx.arm64.checked.mch +0.02%
libraries.crossgen2.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.03%
libraries_tests.run.osx.arm64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.03%
realworld.run.osx.arm64.checked.mch +0.03%
MinOpts (+0.02% to +0.11%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.03%
benchmarks.run_pgo.osx.arm64.checked.mch +0.04%
benchmarks.run_tiered.osx.arm64.checked.mch +0.04%
coreclr_tests.run.osx.arm64.checked.mch +0.02%
libraries.crossgen2.osx.arm64.checked.mch +0.04%
libraries.pmi.osx.arm64.checked.mch +0.06%
libraries_tests.run.osx.arm64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.04%
realworld.run.osx.arm64.checked.mch +0.11%
FullOpts (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.03%
benchmarks.run_pgo.osx.arm64.checked.mch +0.04%
benchmarks.run_tiered.osx.arm64.checked.mch +0.04%
coreclr_tests.run.osx.arm64.checked.mch +0.02%
libraries.crossgen2.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.03%
libraries_tests.run.osx.arm64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.03%
realworld.run.osx.arm64.checked.mch +0.03%

Throughput diffs for windows/arm64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.03%
benchmarks.run_pgo.windows.arm64.checked.mch +0.04%
benchmarks.run_tiered.windows.arm64.checked.mch +0.04%
coreclr_tests.run.windows.arm64.checked.mch +0.02%
libraries.crossgen2.windows.arm64.checked.mch +0.02%
libraries.pmi.windows.arm64.checked.mch +0.03%
libraries_tests.run.windows.arm64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.03%
realworld.run.windows.arm64.checked.mch +0.03%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.04%
MinOpts (+0.02% to +0.10%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.03%
benchmarks.run_pgo.windows.arm64.checked.mch +0.04%
benchmarks.run_tiered.windows.arm64.checked.mch +0.04%
coreclr_tests.run.windows.arm64.checked.mch +0.02%
libraries.crossgen2.windows.arm64.checked.mch +0.04%
libraries.pmi.windows.arm64.checked.mch +0.07%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.04%
realworld.run.windows.arm64.checked.mch +0.10%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.03%
FullOpts (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.03%
benchmarks.run_pgo.windows.arm64.checked.mch +0.04%
benchmarks.run_tiered.windows.arm64.checked.mch +0.04%
coreclr_tests.run.windows.arm64.checked.mch +0.02%
libraries.crossgen2.windows.arm64.checked.mch +0.02%
libraries.pmi.windows.arm64.checked.mch +0.03%
libraries_tests.run.windows.arm64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.03%
realworld.run.windows.arm64.checked.mch +0.03%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.04%

Details here


@ryujit-bot
Copy link

Diff results for #98192

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 1,610,272 contexts (368,644 MinOpts, 1,241,628 FullOpts).

MISSED contexts: 3,428 (0.21%)

Overall (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.arm64.checked.mch 301,229,168 -16
FullOpts (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.arm64.checked.mch 140,435,404 -16

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 1,620,764 contexts (360,162 MinOpts, 1,260,602 FullOpts).

MISSED contexts: 3,086 (0.19%)

Overall (-15 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.x64.checked.mch 247,128,988 -15
FullOpts (-15 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.x64.checked.mch 106,762,107 -15

Assembly diffs for osx/arm64 ran on windows/x64

Diffs are based on 1,733,061 contexts (561,303 MinOpts, 1,171,758 FullOpts).

MISSED contexts: 3,460 (0.20%)

Overall (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.osx.arm64.checked.mch 390,209,564 -16
FullOpts (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.osx.arm64.checked.mch 138,797,988 -16

Assembly diffs for windows/arm64 ran on windows/x64

Diffs are based on 1,477,297 contexts (263,527 MinOpts, 1,213,770 FullOpts).

MISSED contexts: 3,464 (0.23%)

Overall (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.arm64.checked.mch 277,081,708 -16
FullOpts (-16 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.arm64.checked.mch 138,789,140 -16

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 1,999,231 contexts (587,594 MinOpts, 1,411,637 FullOpts).

MISSED contexts: 3,657 (0.18%)

Overall (-2 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x64.checked.mch 296,147,803 -2
FullOpts (-2 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x64.checked.mch 110,373,413 -2

Details here


Assembly diffs for linux/arm ran on windows/x86

Diffs are based on 1,449,330 contexts (345,734 MinOpts, 1,103,596 FullOpts).

MISSED contexts: 55,656 (3.70%)

Overall (+0 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.arm.checked.mch 321,240,776 +0
FullOpts (+0 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.linux.arm.checked.mch 108,805,826 +0

Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 1,618,717 contexts (327,626 MinOpts, 1,291,091 FullOpts).

MISSED contexts: base: 11,019 (0.68%), diff: 11,022 (0.68%)

Overall (+38 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x86.checked.mch 215,108,608 +38
FullOpts (+38 bytes)
Collection Base size (bytes) Diff size (bytes)
coreclr_tests.run.windows.x86.checked.mch 92,847,584 +38

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.04%
benchmarks.run_tiered.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.crossgen2.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.04%
MinOpts (+0.02% to +0.10%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.02%
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
libraries.pmi.linux.arm64.checked.mch +0.06%
libraries_tests.run.linux.arm64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.04%
realworld.run.linux.arm64.checked.mch +0.10%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
FullOpts (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.04%
benchmarks.run_tiered.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.crossgen2.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.03%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.04%

Throughput diffs for linux/x64 ran on windows/x64

Overall (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.03%
libraries.pmi.linux.x64.checked.mch +0.03%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
realworld.run.linux.x64.checked.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
MinOpts (+0.03% to +0.14%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.05%
libraries.pmi.linux.x64.checked.mch +0.07%
libraries_tests.run.linux.x64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.04%
realworld.run.linux.x64.checked.mch +0.14%
smoke_tests.nativeaot.linux.x64.checked.mch +0.03%
FullOpts (+0.03% to +0.04%)
Collection PDIFF
benchmarks.run.linux.x64.checked.mch +0.04%
benchmarks.run_pgo.linux.x64.checked.mch +0.04%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
coreclr_tests.run.linux.x64.checked.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.03%
libraries.pmi.linux.x64.checked.mch +0.03%
libraries_tests.run.linux.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
realworld.run.linux.x64.checked.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%

Throughput diffs for osx/arm64 ran on windows/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.03%
benchmarks.run_pgo.osx.arm64.checked.mch +0.04%
benchmarks.run_tiered.osx.arm64.checked.mch +0.04%
coreclr_tests.run.osx.arm64.checked.mch +0.02%
libraries.crossgen2.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.03%
libraries_tests.run.osx.arm64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.03%
realworld.run.osx.arm64.checked.mch +0.03%
MinOpts (+0.02% to +0.11%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.03%
benchmarks.run_pgo.osx.arm64.checked.mch +0.04%
benchmarks.run_tiered.osx.arm64.checked.mch +0.04%
coreclr_tests.run.osx.arm64.checked.mch +0.02%
libraries.crossgen2.osx.arm64.checked.mch +0.04%
libraries.pmi.osx.arm64.checked.mch +0.06%
libraries_tests.run.osx.arm64.Release.mch +0.02%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.04%
realworld.run.osx.arm64.checked.mch +0.11%
FullOpts (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.osx.arm64.checked.mch +0.03%
benchmarks.run_pgo.osx.arm64.checked.mch +0.04%
benchmarks.run_tiered.osx.arm64.checked.mch +0.04%
coreclr_tests.run.osx.arm64.checked.mch +0.02%
libraries.crossgen2.osx.arm64.checked.mch +0.02%
libraries.pmi.osx.arm64.checked.mch +0.03%
libraries_tests.run.osx.arm64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.osx.arm64.Release.mch +0.03%
realworld.run.osx.arm64.checked.mch +0.03%

Throughput diffs for windows/arm64 ran on windows/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.03%
benchmarks.run_pgo.windows.arm64.checked.mch +0.04%
benchmarks.run_tiered.windows.arm64.checked.mch +0.04%
coreclr_tests.run.windows.arm64.checked.mch +0.02%
libraries.crossgen2.windows.arm64.checked.mch +0.02%
libraries.pmi.windows.arm64.checked.mch +0.03%
libraries_tests.run.windows.arm64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.03%
realworld.run.windows.arm64.checked.mch +0.03%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.04%
MinOpts (+0.02% to +0.10%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.03%
benchmarks.run_pgo.windows.arm64.checked.mch +0.04%
benchmarks.run_tiered.windows.arm64.checked.mch +0.04%
coreclr_tests.run.windows.arm64.checked.mch +0.02%
libraries.crossgen2.windows.arm64.checked.mch +0.04%
libraries.pmi.windows.arm64.checked.mch +0.07%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.04%
realworld.run.windows.arm64.checked.mch +0.10%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.03%
FullOpts (+0.02% to +0.04%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.03%
benchmarks.run_pgo.windows.arm64.checked.mch +0.04%
benchmarks.run_tiered.windows.arm64.checked.mch +0.04%
coreclr_tests.run.windows.arm64.checked.mch +0.02%
libraries.crossgen2.windows.arm64.checked.mch +0.02%
libraries.pmi.windows.arm64.checked.mch +0.03%
libraries_tests.run.windows.arm64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.03%
realworld.run.windows.arm64.checked.mch +0.03%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.04%

Throughput diffs for windows/x64 ran on windows/x64

Overall (+0.03% to +0.05%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.04%
benchmarks.run.windows.x64.checked.mch +0.04%
benchmarks.run_pgo.windows.x64.checked.mch +0.05%
benchmarks.run_tiered.windows.x64.checked.mch +0.05%
coreclr_tests.run.windows.x64.checked.mch +0.03%
libraries.crossgen2.windows.x64.checked.mch +0.03%
libraries.pmi.windows.x64.checked.mch +0.03%
libraries_tests.run.windows.x64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.03%
realworld.run.windows.x64.checked.mch +0.03%
smoke_tests.nativeaot.windows.x64.checked.mch +0.04%
MinOpts (+0.03% to +0.13%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.04%
benchmarks.run.windows.x64.checked.mch +0.04%
benchmarks.run_pgo.windows.x64.checked.mch +0.05%
benchmarks.run_tiered.windows.x64.checked.mch +0.05%
coreclr_tests.run.windows.x64.checked.mch +0.03%
libraries.crossgen2.windows.x64.checked.mch +0.05%
libraries.pmi.windows.x64.checked.mch +0.07%
libraries_tests.run.windows.x64.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.04%
realworld.run.windows.x64.checked.mch +0.13%
smoke_tests.nativeaot.windows.x64.checked.mch +0.03%
FullOpts (+0.03% to +0.05%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.03%
benchmarks.run.windows.x64.checked.mch +0.04%
benchmarks.run_pgo.windows.x64.checked.mch +0.05%
benchmarks.run_tiered.windows.x64.checked.mch +0.04%
coreclr_tests.run.windows.x64.checked.mch +0.03%
libraries.crossgen2.windows.x64.checked.mch +0.03%
libraries.pmi.windows.x64.checked.mch +0.03%
libraries_tests.run.windows.x64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.03%
realworld.run.windows.x64.checked.mch +0.03%
smoke_tests.nativeaot.windows.x64.checked.mch +0.04%

Details here


Throughput diffs for linux/arm64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.02%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.04%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.02%
benchmarks.run.linux.arm64.checked.mch +0.03%
MinOpts (+0.02% to +0.09%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.04%
libraries_tests.run.linux.arm64.Release.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.04%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.03%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.06%
realworld.run.linux.arm64.checked.mch +0.09%
benchmarks.run.linux.arm64.checked.mch +0.02%
FullOpts (+0.02% to +0.04%)
Collection PDIFF
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.03%
libraries_tests.run.linux.arm64.Release.mch +0.03%
libraries.crossgen2.linux.arm64.checked.mch +0.02%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.04%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
benchmarks.run_pgo.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.02%
benchmarks.run.linux.arm64.checked.mch +0.03%

Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.02% to +0.04%)
Collection PDIFF
libraries.pmi.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.02%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
libraries_tests.run.linux.x64.Release.mch +0.04%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
realworld.run.linux.x64.checked.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.03%
benchmarks.run.linux.x64.checked.mch +0.03%
MinOpts (+0.02% to +0.12%)
Collection PDIFF
libraries.pmi.linux.x64.checked.mch +0.07%
coreclr_tests.run.linux.x64.checked.mch +0.02%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
libraries_tests.run.linux.x64.Release.mch +0.03%
smoke_tests.nativeaot.linux.x64.checked.mch +0.03%
realworld.run.linux.x64.checked.mch +0.12%
benchmarks.run_pgo.linux.x64.checked.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.04%
libraries.crossgen2.linux.x64.checked.mch +0.04%
benchmarks.run.linux.x64.checked.mch +0.02%
FullOpts (+0.02% to +0.04%)
Collection PDIFF
libraries.pmi.linux.x64.checked.mch +0.03%
coreclr_tests.run.linux.x64.checked.mch +0.02%
benchmarks.run_tiered.linux.x64.checked.mch +0.04%
libraries_tests.run.linux.x64.Release.mch +0.04%
smoke_tests.nativeaot.linux.x64.checked.mch +0.04%
realworld.run.linux.x64.checked.mch +0.03%
benchmarks.run_pgo.linux.x64.checked.mch +0.04%
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch +0.03%
libraries.crossgen2.linux.x64.checked.mch +0.03%
benchmarks.run.linux.x64.checked.mch +0.03%

Details here


Throughput diffs for linux/arm ran on windows/x86

Overall (+0.02% to +0.03%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.03%
benchmarks.run_pgo.linux.arm.checked.mch +0.02%
benchmarks.run_tiered.linux.arm.checked.mch +0.03%
coreclr_tests.run.linux.arm.checked.mch +0.02%
libraries.crossgen2.linux.arm.checked.mch +0.02%
libraries.pmi.linux.arm.checked.mch +0.03%
libraries_tests.run.linux.arm.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.03%
realworld.run.linux.arm.checked.mch +0.03%
MinOpts (+0.02% to +0.09%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.02%
benchmarks.run_pgo.linux.arm.checked.mch +0.02%
benchmarks.run_tiered.linux.arm.checked.mch +0.03%
coreclr_tests.run.linux.arm.checked.mch +0.02%
libraries.crossgen2.linux.arm.checked.mch +0.03%
libraries.pmi.linux.arm.checked.mch +0.05%
libraries_tests.run.linux.arm.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.03%
realworld.run.linux.arm.checked.mch +0.09%
FullOpts (+0.02% to +0.03%)
Collection PDIFF
benchmarks.run.linux.arm.checked.mch +0.03%
benchmarks.run_pgo.linux.arm.checked.mch +0.02%
benchmarks.run_tiered.linux.arm.checked.mch +0.03%
coreclr_tests.run.linux.arm.checked.mch +0.02%
libraries.crossgen2.linux.arm.checked.mch +0.02%
libraries.pmi.linux.arm.checked.mch +0.03%
libraries_tests.run.linux.arm.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.linux.arm.Release.mch +0.03%
realworld.run.linux.arm.checked.mch +0.03%

Throughput diffs for windows/x86 ran on windows/x86

Overall (+0.02% to +0.03%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.03%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.03%
coreclr_tests.run.windows.x86.checked.mch +0.02%
libraries.crossgen2.windows.x86.checked.mch +0.02%
libraries.pmi.windows.x86.checked.mch +0.03%
libraries_tests.run.windows.x86.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.03%
realworld.run.windows.x86.checked.mch +0.02%
MinOpts (+0.01% to +0.14%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.03%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.03%
coreclr_tests.run.windows.x86.checked.mch +0.01%
libraries.crossgen2.windows.x86.checked.mch +0.03%
libraries.pmi.windows.x86.checked.mch +0.07%
libraries_tests.run.windows.x86.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.04%
realworld.run.windows.x86.checked.mch +0.14%
FullOpts (+0.02% to +0.03%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.03%
benchmarks.run_pgo.windows.x86.checked.mch +0.03%
benchmarks.run_tiered.windows.x86.checked.mch +0.03%
coreclr_tests.run.windows.x86.checked.mch +0.02%
libraries.crossgen2.windows.x86.checked.mch +0.02%
libraries.pmi.windows.x86.checked.mch +0.03%
libraries_tests.run.windows.x86.Release.mch +0.03%
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch +0.03%
realworld.run.windows.x86.checked.mch +0.02%

Details here


@amanasifkhalid
Copy link
Member Author

@AndyAyersMS PTAL. TP is slightly more reasonable now. I took a look at realworld locally using Jakob's advice here, and I found only three methods in the collection compiled with MinOpts. Of those methods, only one had a diff in instructions executed: this diff was 0.27% of the base. With so few MinOpts methods in realworld, I don't think the TP impact reported is all that useful.

@amanasifkhalid amanasifkhalid merged commit 1bc3570 into dotnet:main Feb 9, 2024
126 of 129 checks passed
@amanasifkhalid amanasifkhalid deleted the initializing-preds branch February 9, 2024 20:39
@github-actions github-actions bot locked and limited conversation to collaborators Mar 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants