-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Regressions in System.Collections.Sort<Int32> #69732
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
Possibly from #69247 @jakobbotsch |
This diff in @@ -201,9 +201,7 @@ G_M3347_IG10: ; gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref
G_M3347_IG11: ; gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref
; gcrRegs +[rsi]
; byrRegs +[rbx]
- mov ecx, r14d
- mov eax, ebp
- cmp rcx, rax
+ cmp r14d, ebp
ja G_M3347_IG14
mov ecx, r14d
not ecx
@@ -221,16 +219,14 @@ G_M3347_IG11: ; gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref
; byrRegs -[rcx rbx]
; gcr arg pop 0
jmp G_M3347_IG16
- ;; size=57 bbWeight=0 PerfScore 0.00
+ ;; size=52 bbWeight=0 PerfScore 0.00
G_M3347_IG12: ; gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref, isz
; gcrRegs +[rsi]
; byrRegs +[rbx]
test edi, edi
jne SHORT G_M3347_IG13
- mov ecx, r14d
- mov eax, ebp
- cmp rcx, rax
- ja G_M3347_IG14
+ cmp r14d, ebp
+ ja SHORT G_M3347_IG14
mov ecx, r14d
not ecx
shr ecx, 31
@@ -249,14 +245,12 @@ G_M3347_IG12: ; gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref
; byrRegs -[rcx rbx]
; gcr arg pop 0
jmp G_M3347_IG16
- ;; size=66 bbWeight=0 PerfScore 0.00
+ ;; size=57 bbWeight=0 PerfScore 0.00
G_M3347_IG13: ; gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref, isz
; gcrRegs +[rsi]
; byrRegs +[rbx]
dec edi
- mov ecx, r14d
- mov eax, ebp
- cmp rcx, rax
+ cmp r14d, ebp
ja SHORT G_M3347_IG14
mov ecx, r14d
not ecx
@@ -283,7 +277,7 @@ G_M3347_IG13: ; gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref
mov edx, ebp
cmp rax, rdx
jbe SHORT G_M3347_IG15
- ;; size=78 bbWeight=0 PerfScore 0.00
+ ;; size=73 bbWeight=0 PerfScore 0.00
G_M3347_IG14: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
; gcrRegs -[rsi]
; byrRegs -[rbx]
@@ -331,7 +325,7 @@ G_M3347_IG16: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, epil
ret
;; size=15 bbWeight=0 PerfScore 0.00
-; Total bytes of code 569, prolog size 21, PerfScore 91.65, instruction count 153, allocated bytes for code 569 (MethodHash=3d07f2ec) for method System.Collections.Generic.ArraySortHelper`1[Int32][System.Int32]:IntroSort(System.Span`1[Int32],int,System.Comparison`1[Int32])
+; Total bytes of code 550, prolog size 21, PerfScore 89.75, instruction count 147, allocated bytes for code 550 (MethodHash=3d07f2ec) for method System.Collections.Generic.ArraySortHelper`1[Int32][System.Int32]:IntroSort(System.Span`1[Int32],int,System.Comparison`1[Int32])
; ============================================================
Unwind Info:
But better perf score and lower code size, so not sure if this is the cause. |
Tagging subscribers to this area: @JulieLeeMSFT Issue DetailsRun Information
Regressions in System.Collections.Sort<Int32>
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.Sort<Int32>*' PayloadsHistogramSystem.Collections.Sort<Int32>.Array_ComparerClass(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository
|
It could be noisy. I will wait for few weeks to see the trend before closing this. |
Arm64 regressions possibly caused by this update: dotnet/perf-autofiling-issues#5542 |
The only culprit I can think of is #69127 but I don't have a reason to believe why they would introduce regressions. |
I don't think there is anything actionable to do here. |
Run Information
Regressions in System.Collections.Sort<Int32>
Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Collections.Sort<Int32>.Array_ComparerClass(Size: 512)
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: