Skip to content

Conversation

@amanasifkhalid
Copy link
Contributor

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
@ghost ghost 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
Contributor 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
Contributor 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