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: Improve BBJ_COND to BBJ_ALWAYS conversion in fgUpdateFlowGraph #97681

Closed
wants to merge 4 commits into from

Conversation

amanasifkhalid
Copy link
Member

Follow-up to #97488. In fgUpdateFlowGraph, we already have a check for converting BBJ_COND blocks to BBJ_ALWAYS blocks when the true and false targets are the same. This PR marginally improves the number of cases we can optimize by checking if the true/false target is a BBJ_ALWAYS to the false/true target. This pattern can occur inadvertently if a block's false target is an empty BBJ_ALWAYS to the "real" false target (in other words, the BBJ_ALWAYS was inserted to maintain the implicit fallthrough invariant during block reordering), and other flowgraph optimizations (like compacting) cause the BBJ_ALWAYS block to point to the true target. In such cases, we can convert the BBJ_COND block to a BBJ_ALWAYS block, and potentially delete the empty BBJ_ALWAYS.

@ghost ghost assigned amanasifkhalid Jan 30, 2024
@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 Jan 30, 2024
@ghost
Copy link

ghost commented Jan 30, 2024

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

Issue Details

Follow-up to #97488. In fgUpdateFlowGraph, we already have a check for converting BBJ_COND blocks to BBJ_ALWAYS blocks when the true and false targets are the same. This PR marginally improves the number of cases we can optimize by checking if the true/false target is a BBJ_ALWAYS to the false/true target. This pattern can occur inadvertently if a block's false target is an empty BBJ_ALWAYS to the "real" false target (in other words, the BBJ_ALWAYS was inserted to maintain the implicit fallthrough invariant during block reordering), and other flowgraph optimizations (like compacting) cause the BBJ_ALWAYS block to point to the true target. In such cases, we can convert the BBJ_COND block to a BBJ_ALWAYS block, and potentially delete the empty BBJ_ALWAYS.

Author: amanasifkhalid
Assignees: amanasifkhalid
Labels:

area-CodeGen-coreclr

Milestone: -

@ryujit-bot
Copy link

Diff results for #97681

Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

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

Throughput diffs for linux/x64 ran on windows/x64

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

Throughput diffs for osx/arm64 ran on windows/x64

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

Throughput diffs for windows/arm64 ran on windows/x64

Overall (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
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.03%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.04%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.04%
MinOpts (-0.00% to +0.01%)
Collection PDIFF
libraries.pmi.windows.arm64.checked.mch +0.01%
FullOpts (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.06%
benchmarks.run_tiered.windows.arm64.checked.mch +0.06%
coreclr_tests.run.windows.arm64.checked.mch +0.03%
libraries.crossgen2.windows.arm64.checked.mch +0.03%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.04%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.04%

Throughput diffs for windows/x64 ran on windows/x64

Overall (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.06%
benchmarks.run_tiered.windows.x64.checked.mch +0.04%
coreclr_tests.run.windows.x64.checked.mch +0.02%
libraries.crossgen2.windows.x64.checked.mch +0.04%
libraries.pmi.windows.x64.checked.mch +0.05%
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.04%
smoke_tests.nativeaot.windows.x64.checked.mch +0.04%
FullOpts (+0.04% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x64.checked.mch +0.06%
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.04%
libraries.crossgen2.windows.x64.checked.mch +0.04%
libraries.pmi.windows.x64.checked.mch +0.05%
libraries_tests.run.windows.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.05%
realworld.run.windows.x64.checked.mch +0.04%
smoke_tests.nativeaot.windows.x64.checked.mch +0.04%

Details here


@ryujit-bot
Copy link

Diff results for #97681

Assembly diffs

Assembly diffs for linux/arm64 ran on windows/x64

Diffs are based on 2,259,470 contexts (1,008,044 MinOpts, 1,251,426 FullOpts).

MISSED contexts: 159 (0.01%)

Overall (-42,568 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,972,964 -444
benchmarks.run_pgo.linux.arm64.checked.mch 79,903,244 -3,824
benchmarks.run_tiered.linux.arm64.checked.mch 22,276,872 -168
coreclr_tests.run.linux.arm64.checked.mch 509,740,232 -5,976
libraries.pmi.linux.arm64.checked.mch 76,281,012 -3,560
libraries_tests.run.linux.arm64.Release.mch 400,018,960 -23,420
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 165,110,104 -3,836
realworld.run.linux.arm64.checked.mch 15,918,288 -1,340
FullOpts (-42,568 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 14,713,212 -444
benchmarks.run_pgo.linux.arm64.checked.mch 54,354,872 -3,824
benchmarks.run_tiered.linux.arm64.checked.mch 4,937,908 -168
coreclr_tests.run.linux.arm64.checked.mch 160,832,376 -5,976
libraries.pmi.linux.arm64.checked.mch 76,161,028 -3,560
libraries_tests.run.linux.arm64.Release.mch 183,280,056 -23,420
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch 151,612,828 -3,836
realworld.run.linux.arm64.checked.mch 15,336,748 -1,340

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,249,703 contexts (981,298 MinOpts, 1,268,405 FullOpts).

MISSED contexts: 134 (0.01%)

Overall (-47,589 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,723,744 -452
benchmarks.run_pgo.linux.x64.checked.mch 69,144,788 -4,980
benchmarks.run_tiered.linux.x64.checked.mch 15,897,809 -261
coreclr_tests.run.linux.x64.checked.mch 403,316,719 -6,336
libraries.pmi.linux.x64.checked.mch 60,405,907 -3,269
libraries_tests.run.linux.x64.Release.mch 348,249,945 -27,535
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 132,684,063 -3,700
realworld.run.linux.x64.checked.mch 13,212,110 -1,056
FullOpts (-47,589 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 13,459,811 -452
benchmarks.run_pgo.linux.x64.checked.mch 47,802,743 -4,980
benchmarks.run_tiered.linux.x64.checked.mch 3,639,425 -261
coreclr_tests.run.linux.x64.checked.mch 123,825,558 -6,336
libraries.pmi.linux.x64.checked.mch 60,293,050 -3,269
libraries_tests.run.linux.x64.Release.mch 164,494,781 -27,535
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 122,066,277 -3,700
realworld.run.linux.x64.checked.mch 12,823,228 -1,056

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 2,098,526 contexts (926,221 MinOpts, 1,172,305 FullOpts).

MISSED contexts: 138 (0.01%)

Overall (-41,586 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,737,750 -405
benchmarks.run_pgo.windows.x64.checked.mch 35,778,033 -4,419
benchmarks.run_tiered.windows.x64.checked.mch 12,549,088 -220
coreclr_tests.run.windows.x64.checked.mch 392,964,649 -5,843
libraries.pmi.windows.x64.checked.mch 61,646,281 -3,447
libraries_tests.run.windows.x64.Release.mch 278,843,071 -22,248
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 137,561,184 -3,874
realworld.run.windows.x64.checked.mch 14,184,922 -1,130
FullOpts (-41,586 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,737,387 -405
benchmarks.run_pgo.windows.x64.checked.mch 21,745,952 -4,419
benchmarks.run_tiered.windows.x64.checked.mch 3,453,351 -220
coreclr_tests.run.windows.x64.checked.mch 120,242,671 -5,843
libraries.pmi.windows.x64.checked.mch 61,532,760 -3,447
libraries_tests.run.windows.x64.Release.mch 106,668,455 -22,248
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 126,635,118 -3,874
realworld.run.windows.x64.checked.mch 13,798,313 -1,130

Details here


Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 2,290,721 contexts (838,165 MinOpts, 1,452,556 FullOpts).

MISSED contexts: base: 808 (0.04%), diff: 842 (0.04%)

Overall (-20,881 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,120,835 -250
benchmarks.run_pgo.windows.x86.checked.mch 45,138,363 -1,049
benchmarks.run_tiered.windows.x86.checked.mch 9,473,048 -197
coreclr_tests.run.windows.x86.checked.mch 309,362,652 -3,659
libraries.crossgen2.windows.x86.checked.mch 31,674,641 -1,340
libraries.pmi.windows.x86.checked.mch 49,151,190 -2,398
libraries_tests.run.windows.x86.Release.mch 184,732,225 -7,338
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 103,708,178 -3,719
realworld.run.windows.x86.checked.mch 11,283,258 -931
FullOpts (-20,881 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,120,554 -250
benchmarks.run_pgo.windows.x86.checked.mch 38,525,997 -1,049
benchmarks.run_tiered.windows.x86.checked.mch 5,203,456 -197
coreclr_tests.run.windows.x86.checked.mch 107,567,075 -3,659
libraries.crossgen2.windows.x86.checked.mch 31,673,581 -1,340
libraries.pmi.windows.x86.checked.mch 49,055,957 -2,398
libraries_tests.run.windows.x86.Release.mch 87,432,185 -7,338
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 95,028,117 -3,719
realworld.run.windows.x86.checked.mch 10,987,544 -931

Details here


Throughput diffs

Throughput diffs for linux/arm ran on windows/x86

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

Throughput diffs for windows/x86 ran on windows/x86

Overall (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.06%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.02%
libraries.crossgen2.windows.x86.checked.mch +0.03%
libraries.pmi.windows.x86.checked.mch +0.04%
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.03%
FullOpts (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.06%
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.02% to +0.07%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.05%
benchmarks.run_pgo.linux.arm64.checked.mch +0.07%
libraries.crossgen2.linux.arm64.checked.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.03%
realworld.run.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.02%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.05%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%
FullOpts (+0.03% to +0.08%)
Collection PDIFF
benchmarks.run.linux.arm64.checked.mch +0.06%
smoke_tests.nativeaot.linux.arm64.checked.mch +0.05%
benchmarks.run_pgo.linux.arm64.checked.mch +0.08%
libraries.crossgen2.linux.arm64.checked.mch +0.03%
benchmarks.run_tiered.linux.arm64.checked.mch +0.06%
realworld.run.linux.arm64.checked.mch +0.04%
coreclr_tests.run.linux.arm64.checked.mch +0.04%
libraries.pmi.linux.arm64.checked.mch +0.05%
libraries_tests.run.linux.arm64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch +0.05%

Throughput diffs for linux/x64 ran on linux/x64

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

Details here


@ryujit-bot
Copy link

Diff results for #97681

Assembly diffs

Assembly diffs for windows/x64 ran on linux/x64

Diffs are based on 2,512,204 contexts (997,391 MinOpts, 1,514,813 FullOpts).

MISSED contexts: 8 (0.00%)

Overall (-52,115 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 47,040,101 -7,282
benchmarks.run.windows.x64.checked.mch 8,742,530 -412
benchmarks.run_pgo.windows.x64.checked.mch 36,230,062 -5,079
benchmarks.run_tiered.windows.x64.checked.mch 12,416,181 -217
coreclr_tests.run.windows.x64.checked.mch 393,193,298 -5,849
libraries.crossgen2.windows.x64.checked.mch 39,486,354 -1,631
libraries.pmi.windows.x64.checked.mch 61,663,311 -3,447
libraries_tests.run.windows.x64.Release.mch 282,109,609 -22,885
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 137,066,325 -3,891
realworld.run.windows.x64.checked.mch 14,130,936 -1,130
smoke_tests.nativeaot.windows.x64.checked.mch 5,083,247 -292
FullOpts (-52,115 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 28,549,052 -7,282
benchmarks.run.windows.x64.checked.mch 8,742,167 -412
benchmarks.run_pgo.windows.x64.checked.mch 22,059,406 -5,079
benchmarks.run_tiered.windows.x64.checked.mch 3,316,942 -217
coreclr_tests.run.windows.x64.checked.mch 120,404,444 -5,849
libraries.crossgen2.windows.x64.checked.mch 39,485,167 -1,631
libraries.pmi.windows.x64.checked.mch 61,549,790 -3,447
libraries_tests.run.windows.x64.Release.mch 106,251,291 -22,885
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 126,447,219 -3,891
realworld.run.windows.x64.checked.mch 13,744,327 -1,130
smoke_tests.nativeaot.windows.x64.checked.mch 5,082,300 -292

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

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

Throughput diffs for linux/x64 ran on windows/x64

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

Throughput diffs for osx/arm64 ran on windows/x64

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

Throughput diffs for windows/arm64 ran on windows/x64

Overall (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
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.03%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.04%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%
MinOpts (-0.01% to +0.00%)
Collection PDIFF
libraries.pmi.windows.arm64.checked.mch -0.01%
FullOpts (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.06%
benchmarks.run_tiered.windows.arm64.checked.mch +0.06%
coreclr_tests.run.windows.arm64.checked.mch +0.03%
libraries.crossgen2.windows.arm64.checked.mch +0.03%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.04%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%

Throughput diffs for windows/x64 ran on windows/x64

Overall (+0.02% to +0.07%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.03%
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.06%
benchmarks.run_tiered.windows.x64.checked.mch +0.04%
coreclr_tests.run.windows.x64.checked.mch +0.02%
libraries.crossgen2.windows.x64.checked.mch +0.04%
libraries.pmi.windows.x64.checked.mch +0.05%
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.04%
smoke_tests.nativeaot.windows.x64.checked.mch +0.07%
FullOpts (+0.03% to +0.07%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.03%
benchmarks.run.windows.x64.checked.mch +0.06%
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.04%
libraries.crossgen2.windows.x64.checked.mch +0.04%
libraries.pmi.windows.x64.checked.mch +0.05%
libraries_tests.run.windows.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.05%
realworld.run.windows.x64.checked.mch +0.04%
smoke_tests.nativeaot.windows.x64.checked.mch +0.07%

Details here


Throughput diffs for windows/x86 ran on linux/x86

Overall (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.06%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.02%
libraries.crossgen2.windows.x86.checked.mch +0.03%
libraries.pmi.windows.x86.checked.mch +0.04%
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.03%
FullOpts (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.06%
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


@ryujit-bot
Copy link

Diff results for #97681

Assembly diffs

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,517,901 contexts (991,070 MinOpts, 1,526,831 FullOpts).

MISSED contexts: 8 (0.00%)

Overall (-50,401 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 14,336,870 -452
benchmarks.run_pgo.linux.x64.checked.mch 71,576,886 -5,152
benchmarks.run_tiered.linux.x64.checked.mch 21,435,874 -261
coreclr_tests.run.linux.x64.checked.mch 403,711,765 -6,251
libraries.crossgen2.linux.x64.checked.mch 38,727,287 -1,610
libraries.pmi.linux.x64.checked.mch 60,419,954 -3,269
libraries_tests.run.linux.x64.Release.mch 337,103,194 -28,438
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 132,558,776 -3,717
realworld.run.linux.x64.checked.mch 13,175,161 -1,056
smoke_tests.nativeaot.linux.x64.checked.mch 4,234,681 -195
FullOpts (-50,401 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 14,037,567 -452
benchmarks.run_pgo.linux.x64.checked.mch 47,776,897 -5,152
benchmarks.run_tiered.linux.x64.checked.mch 3,695,094 -261
coreclr_tests.run.linux.x64.checked.mch 123,957,063 -6,251
libraries.crossgen2.linux.x64.checked.mch 38,726,089 -1,610
libraries.pmi.linux.x64.checked.mch 60,307,097 -3,269
libraries_tests.run.linux.x64.Release.mch 153,343,501 -28,438
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 121,941,008 -3,717
realworld.run.linux.x64.checked.mch 12,789,277 -1,056
smoke_tests.nativeaot.linux.x64.checked.mch 4,233,732 -195

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 2,512,204 contexts (997,391 MinOpts, 1,514,813 FullOpts).

MISSED contexts: 8 (0.00%)

Overall (-52,115 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 47,040,101 -7,282
benchmarks.run.windows.x64.checked.mch 8,742,530 -412
benchmarks.run_pgo.windows.x64.checked.mch 36,230,062 -5,079
benchmarks.run_tiered.windows.x64.checked.mch 12,416,181 -217
coreclr_tests.run.windows.x64.checked.mch 393,193,298 -5,849
libraries.crossgen2.windows.x64.checked.mch 39,486,354 -1,631
libraries.pmi.windows.x64.checked.mch 61,663,311 -3,447
libraries_tests.run.windows.x64.Release.mch 282,109,609 -22,885
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 137,066,325 -3,891
realworld.run.windows.x64.checked.mch 14,130,936 -1,130
smoke_tests.nativeaot.windows.x64.checked.mch 5,083,247 -292
FullOpts (-52,115 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 28,549,052 -7,282
benchmarks.run.windows.x64.checked.mch 8,742,167 -412
benchmarks.run_pgo.windows.x64.checked.mch 22,059,406 -5,079
benchmarks.run_tiered.windows.x64.checked.mch 3,316,942 -217
coreclr_tests.run.windows.x64.checked.mch 120,404,444 -5,849
libraries.crossgen2.windows.x64.checked.mch 39,485,167 -1,631
libraries.pmi.windows.x64.checked.mch 61,549,790 -3,447
libraries_tests.run.windows.x64.Release.mch 106,251,291 -22,885
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 126,447,219 -3,891
realworld.run.windows.x64.checked.mch 13,744,327 -1,130
smoke_tests.nativeaot.windows.x64.checked.mch 5,082,300 -292

Details here


Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 2,293,423 contexts (839,658 MinOpts, 1,453,765 FullOpts).

MISSED contexts: base: 38 (0.00%), diff: 73 (0.00%)

Overall (-22,900 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,122,447 -258
benchmarks.run_pgo.windows.x86.checked.mch 44,974,277 -1,135
benchmarks.run_tiered.windows.x86.checked.mch 9,469,950 -180
coreclr_tests.run.windows.x86.checked.mch 309,369,241 -3,767
libraries.crossgen2.windows.x86.checked.mch 31,716,544 -1,340
libraries.pmi.windows.x86.checked.mch 49,268,131 -2,473
libraries_tests.run.windows.x86.Release.mch 186,645,391 -9,027
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 103,801,389 -3,789
realworld.run.windows.x86.checked.mch 11,353,700 -931
FullOpts (-22,900 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,122,166 -258
benchmarks.run_pgo.windows.x86.checked.mch 38,385,646 -1,135
benchmarks.run_tiered.windows.x86.checked.mch 5,200,129 -180
coreclr_tests.run.windows.x86.checked.mch 107,581,107 -3,767
libraries.crossgen2.windows.x86.checked.mch 31,715,484 -1,340
libraries.pmi.windows.x86.checked.mch 49,172,898 -2,473
libraries_tests.run.windows.x86.Release.mch 88,371,691 -9,027
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 95,121,325 -3,789
realworld.run.windows.x86.checked.mch 11,057,986 -931

Details here


Throughput diffs

Throughput diffs for linux/arm64 ran on windows/x64

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

Throughput diffs for linux/x64 ran on windows/x64

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

Throughput diffs for osx/arm64 ran on windows/x64

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

Throughput diffs for windows/arm64 ran on windows/x64

Overall (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.05%
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.03%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.04%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.04%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%
MinOpts (-0.01% to +0.00%)
Collection PDIFF
libraries.pmi.windows.arm64.checked.mch -0.01%
FullOpts (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.arm64.checked.mch +0.06%
benchmarks.run_pgo.windows.arm64.checked.mch +0.06%
benchmarks.run_tiered.windows.arm64.checked.mch +0.06%
coreclr_tests.run.windows.arm64.checked.mch +0.03%
libraries.crossgen2.windows.arm64.checked.mch +0.03%
libraries.pmi.windows.arm64.checked.mch +0.05%
libraries_tests.run.windows.arm64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.arm64.Release.mch +0.05%
realworld.run.windows.arm64.checked.mch +0.04%
smoke_tests.nativeaot.windows.arm64.checked.mch +0.06%

Throughput diffs for windows/x64 ran on windows/x64

Overall (+0.02% to +0.07%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.03%
benchmarks.run.windows.x64.checked.mch +0.06%
benchmarks.run_pgo.windows.x64.checked.mch +0.06%
benchmarks.run_tiered.windows.x64.checked.mch +0.04%
coreclr_tests.run.windows.x64.checked.mch +0.02%
libraries.crossgen2.windows.x64.checked.mch +0.04%
libraries.pmi.windows.x64.checked.mch +0.05%
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.04%
smoke_tests.nativeaot.windows.x64.checked.mch +0.07%
FullOpts (+0.03% to +0.07%)
Collection PDIFF
aspnet.run.windows.x64.checked.mch +0.03%
benchmarks.run.windows.x64.checked.mch +0.06%
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.04%
libraries.crossgen2.windows.x64.checked.mch +0.04%
libraries.pmi.windows.x64.checked.mch +0.05%
libraries_tests.run.windows.x64.Release.mch +0.06%
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch +0.05%
realworld.run.windows.x64.checked.mch +0.04%
smoke_tests.nativeaot.windows.x64.checked.mch +0.07%

Details here


Throughput diffs for linux/arm ran on windows/x86

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

Throughput diffs for windows/x86 ran on windows/x86

Overall (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.06%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.02%
libraries.crossgen2.windows.x86.checked.mch +0.03%
libraries.pmi.windows.x86.checked.mch +0.04%
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.03%
FullOpts (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.06%
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.14% to +0.00%)
Collection PDIFF
coreclr_tests.run.linux.arm64.checked.mch -0.01%
libraries_tests.run.linux.arm64.Release.mch -0.10%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.01%
benchmarks.run.linux.arm64.checked.mch -0.04%
benchmarks.run_pgo.linux.arm64.checked.mch -0.14%
libraries.pmi.linux.arm64.checked.mch -0.03%
realworld.run.linux.arm64.checked.mch -0.06%
benchmarks.run_tiered.linux.arm64.checked.mch -0.04%
libraries.crossgen2.linux.arm64.checked.mch -0.01%
FullOpts (-0.16% to +0.00%)
Collection PDIFF
coreclr_tests.run.linux.arm64.checked.mch -0.01%
libraries_tests.run.linux.arm64.Release.mch -0.12%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.01%
benchmarks.run.linux.arm64.checked.mch -0.04%
benchmarks.run_pgo.linux.arm64.checked.mch -0.16%
libraries.pmi.linux.arm64.checked.mch -0.03%
realworld.run.linux.arm64.checked.mch -0.06%
benchmarks.run_tiered.linux.arm64.checked.mch -0.09%
libraries.crossgen2.linux.arm64.checked.mch -0.01%

Throughput diffs for linux/x64 ran on linux/x64

Overall (-0.12% to +0.00%)
Collection PDIFF
libraries_tests.run.linux.x64.Release.mch -0.10%
libraries.pmi.linux.x64.checked.mch -0.03%
smoke_tests.nativeaot.linux.x64.checked.mch -0.01%
coreclr_tests.run.linux.x64.checked.mch -0.01%
realworld.run.linux.x64.checked.mch -0.06%
benchmarks.run_pgo.linux.x64.checked.mch -0.12%
benchmarks.run_tiered.linux.x64.checked.mch -0.05%
benchmarks.run.linux.x64.checked.mch -0.04%
FullOpts (-0.13% to +0.00%)
Collection PDIFF
libraries_tests.run.linux.x64.Release.mch -0.13%
libraries.pmi.linux.x64.checked.mch -0.03%
smoke_tests.nativeaot.linux.x64.checked.mch -0.01%
coreclr_tests.run.linux.x64.checked.mch -0.01%
realworld.run.linux.x64.checked.mch -0.06%
benchmarks.run_pgo.linux.x64.checked.mch -0.13%
benchmarks.run_tiered.linux.x64.checked.mch -0.11%
benchmarks.run.linux.x64.checked.mch -0.04%

Details here


@amanasifkhalid
Copy link
Member Author

cc @dotnet/jit-contrib, @AndyAyersMS PTAL.

@ryujit-bot
Copy link

Diff results for #97681

Assembly diffs

Assembly diffs for linux/x64 ran on windows/x64

Diffs are based on 2,517,901 contexts (991,070 MinOpts, 1,526,831 FullOpts).

MISSED contexts: 8 (0.00%)

Overall (-50,401 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 14,336,870 -452
benchmarks.run_pgo.linux.x64.checked.mch 71,576,886 -5,152
benchmarks.run_tiered.linux.x64.checked.mch 21,435,874 -261
coreclr_tests.run.linux.x64.checked.mch 403,711,765 -6,251
libraries.crossgen2.linux.x64.checked.mch 38,727,287 -1,610
libraries.pmi.linux.x64.checked.mch 60,419,954 -3,269
libraries_tests.run.linux.x64.Release.mch 337,103,194 -28,438
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 132,558,776 -3,717
realworld.run.linux.x64.checked.mch 13,175,161 -1,056
smoke_tests.nativeaot.linux.x64.checked.mch 4,234,681 -195
FullOpts (-50,401 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 14,037,567 -452
benchmarks.run_pgo.linux.x64.checked.mch 47,776,897 -5,152
benchmarks.run_tiered.linux.x64.checked.mch 3,695,094 -261
coreclr_tests.run.linux.x64.checked.mch 123,957,063 -6,251
libraries.crossgen2.linux.x64.checked.mch 38,726,089 -1,610
libraries.pmi.linux.x64.checked.mch 60,307,097 -3,269
libraries_tests.run.linux.x64.Release.mch 153,343,501 -28,438
libraries_tests_no_tiered_compilation.run.linux.x64.Release.mch 121,941,008 -3,717
realworld.run.linux.x64.checked.mch 12,789,277 -1,056
smoke_tests.nativeaot.linux.x64.checked.mch 4,233,732 -195

Assembly diffs for windows/x64 ran on windows/x64

Diffs are based on 2,512,204 contexts (997,391 MinOpts, 1,514,813 FullOpts).

MISSED contexts: 8 (0.00%)

Overall (-52,115 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 47,040,101 -7,282
benchmarks.run.windows.x64.checked.mch 8,742,530 -412
benchmarks.run_pgo.windows.x64.checked.mch 36,230,062 -5,079
benchmarks.run_tiered.windows.x64.checked.mch 12,416,181 -217
coreclr_tests.run.windows.x64.checked.mch 393,193,298 -5,849
libraries.crossgen2.windows.x64.checked.mch 39,486,354 -1,631
libraries.pmi.windows.x64.checked.mch 61,663,311 -3,447
libraries_tests.run.windows.x64.Release.mch 282,109,609 -22,885
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 137,066,325 -3,891
realworld.run.windows.x64.checked.mch 14,130,936 -1,130
smoke_tests.nativeaot.windows.x64.checked.mch 5,083,247 -292
FullOpts (-52,115 bytes)
Collection Base size (bytes) Diff size (bytes)
aspnet.run.windows.x64.checked.mch 28,549,052 -7,282
benchmarks.run.windows.x64.checked.mch 8,742,167 -412
benchmarks.run_pgo.windows.x64.checked.mch 22,059,406 -5,079
benchmarks.run_tiered.windows.x64.checked.mch 3,316,942 -217
coreclr_tests.run.windows.x64.checked.mch 120,404,444 -5,849
libraries.crossgen2.windows.x64.checked.mch 39,485,167 -1,631
libraries.pmi.windows.x64.checked.mch 61,549,790 -3,447
libraries_tests.run.windows.x64.Release.mch 106,251,291 -22,885
libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch 126,447,219 -3,891
realworld.run.windows.x64.checked.mch 13,744,327 -1,130
smoke_tests.nativeaot.windows.x64.checked.mch 5,082,300 -292

Details here


Assembly diffs for windows/x86 ran on windows/x86

Diffs are based on 2,293,423 contexts (839,658 MinOpts, 1,453,765 FullOpts).

MISSED contexts: base: 38 (0.00%), diff: 73 (0.00%)

Overall (-22,900 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,122,447 -258
benchmarks.run_pgo.windows.x86.checked.mch 44,974,277 -1,135
benchmarks.run_tiered.windows.x86.checked.mch 9,469,950 -180
coreclr_tests.run.windows.x86.checked.mch 309,369,241 -3,767
libraries.crossgen2.windows.x86.checked.mch 31,716,544 -1,340
libraries.pmi.windows.x86.checked.mch 49,268,131 -2,473
libraries_tests.run.windows.x86.Release.mch 186,645,391 -9,027
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 103,801,389 -3,789
realworld.run.windows.x86.checked.mch 11,353,700 -931
FullOpts (-22,900 bytes)
Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x86.checked.mch 7,122,166 -258
benchmarks.run_pgo.windows.x86.checked.mch 38,385,646 -1,135
benchmarks.run_tiered.windows.x86.checked.mch 5,200,129 -180
coreclr_tests.run.windows.x86.checked.mch 107,581,107 -3,767
libraries.crossgen2.windows.x86.checked.mch 31,715,484 -1,340
libraries.pmi.windows.x86.checked.mch 49,172,898 -2,473
libraries_tests.run.windows.x86.Release.mch 88,371,691 -9,027
libraries_tests_no_tiered_compilation.run.windows.x86.Release.mch 95,121,325 -3,789
realworld.run.windows.x86.checked.mch 11,057,986 -931

Details here


Throughput diffs

Throughput diffs for linux/arm ran on windows/x86

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

Throughput diffs for windows/x86 ran on windows/x86

Overall (+0.02% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.06%
benchmarks.run_tiered.windows.x86.checked.mch +0.04%
coreclr_tests.run.windows.x86.checked.mch +0.02%
libraries.crossgen2.windows.x86.checked.mch +0.03%
libraries.pmi.windows.x86.checked.mch +0.04%
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.03%
FullOpts (+0.03% to +0.06%)
Collection PDIFF
benchmarks.run.windows.x86.checked.mch +0.04%
benchmarks.run_pgo.windows.x86.checked.mch +0.06%
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.14% to +0.00%)
Collection PDIFF
coreclr_tests.run.linux.arm64.checked.mch -0.01%
libraries_tests.run.linux.arm64.Release.mch -0.10%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.01%
benchmarks.run.linux.arm64.checked.mch -0.04%
benchmarks.run_pgo.linux.arm64.checked.mch -0.14%
libraries.pmi.linux.arm64.checked.mch -0.03%
realworld.run.linux.arm64.checked.mch -0.06%
benchmarks.run_tiered.linux.arm64.checked.mch -0.04%
libraries.crossgen2.linux.arm64.checked.mch -0.01%
FullOpts (-0.16% to +0.00%)
Collection PDIFF
coreclr_tests.run.linux.arm64.checked.mch -0.01%
libraries_tests.run.linux.arm64.Release.mch -0.12%
smoke_tests.nativeaot.linux.arm64.checked.mch -0.01%
benchmarks.run.linux.arm64.checked.mch -0.04%
benchmarks.run_pgo.linux.arm64.checked.mch -0.16%
libraries.pmi.linux.arm64.checked.mch -0.03%
realworld.run.linux.arm64.checked.mch -0.06%
benchmarks.run_tiered.linux.arm64.checked.mch -0.09%
libraries.crossgen2.linux.arm64.checked.mch -0.01%

Throughput diffs for linux/x64 ran on linux/x64

Overall (-0.12% to +0.00%)
Collection PDIFF
libraries_tests.run.linux.x64.Release.mch -0.10%
libraries.pmi.linux.x64.checked.mch -0.03%
smoke_tests.nativeaot.linux.x64.checked.mch -0.01%
coreclr_tests.run.linux.x64.checked.mch -0.01%
realworld.run.linux.x64.checked.mch -0.06%
benchmarks.run_pgo.linux.x64.checked.mch -0.12%
benchmarks.run_tiered.linux.x64.checked.mch -0.05%
benchmarks.run.linux.x64.checked.mch -0.04%
FullOpts (-0.13% to +0.00%)
Collection PDIFF
libraries_tests.run.linux.x64.Release.mch -0.13%
libraries.pmi.linux.x64.checked.mch -0.03%
smoke_tests.nativeaot.linux.x64.checked.mch -0.01%
coreclr_tests.run.linux.x64.checked.mch -0.01%
realworld.run.linux.x64.checked.mch -0.06%
benchmarks.run_pgo.linux.x64.checked.mch -0.13%
benchmarks.run_tiered.linux.x64.checked.mch -0.11%
benchmarks.run.linux.x64.checked.mch -0.04%

Details here


@amanasifkhalid
Copy link
Member Author

I've put this work on hold in favor of the successor edge items in #93020. I'll come back to this.

@github-actions github-actions bot locked and limited conversation to collaborators Mar 28, 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.

2 participants