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

[Perf -196%] System.Collections.ContainsTrue<Int32> (6) #910

Closed
performanceautofiler bot opened this issue Jul 10, 2020 · 2 comments
Closed

[Perf -196%] System.Collections.ContainsTrue<Int32> (6) #910

performanceautofiler bot opened this issue Jul 10, 2020 · 2 comments

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Jul 10, 2020

Run Information

Architecture x86
OS Windows 10.0.18362
Changes diff

Regressions in System.Collections.ContainsTrue

Benchmark Baseline Test Test/Base Modality Baseline Outlier
Array 41.69 μs 121.84 μs 2.92 True
ImmutableArray 43.10 μs 116.85 μs 2.71 False
List 40.60 μs 121.31 μs 2.99 True
Queue 41.12 μs 121.74 μs 2.96 True
ICollection 40.48 μs 120.94 μs 2.99 True
Span 38.31 μs 121.30 μs 3.17 False

graph
graph
graph
graph
graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.ContainsTrue<Int32>*';

Histogram

System.Collections.ContainsTrue.Array(Size: 512)

[ 37830.974 ;  44220.358) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 44220.358 ;  50609.743) | 
[ 50609.743 ;  56999.127) | 
[ 56999.127 ;  63388.512) | 
[ 63388.512 ;  69777.896) | 
[ 69777.896 ;  76167.281) | 
[ 76167.281 ;  82556.665) | 
[ 82556.665 ;  88946.050) | 
[ 88946.050 ;  95335.434) | 
[ 95335.434 ; 101724.819) | 
[101724.819 ; 108114.203) | 
[108114.203 ; 115700.072) | 
[115700.072 ; 122089.456) | @@@@@@@@@

System.Collections.ContainsTrue.ImmutableArray(Size: 512)

[ 39931.110 ;  45983.331) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 45983.331 ;  52035.551) | 
[ 52035.551 ;  58087.772) | 
[ 58087.772 ;  64139.992) | 
[ 64139.992 ;  70192.213) | 
[ 70192.213 ;  76244.433) | 
[ 76244.433 ;  82296.654) | 
[ 82296.654 ;  88348.874) | 
[ 88348.874 ;  94401.095) | 
[ 94401.095 ; 100453.315) | 
[100453.315 ; 106505.535) | 
[106505.535 ; 114017.398) | 
[114017.398 ; 120282.927) | @@@@@@@@@

System.Collections.ContainsTrue.List(Size: 512)

[ 37081.144 ;  43571.129) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 43571.129 ;  50061.114) | 
[ 50061.114 ;  56551.100) | 
[ 56551.100 ;  63041.085) | 
[ 63041.085 ;  69531.070) | 
[ 69531.070 ;  76021.056) | 
[ 76021.056 ;  82511.041) | 
[ 82511.041 ;  89001.026) | 
[ 89001.026 ;  95491.012) | 
[ 95491.012 ; 101980.997) | 
[101980.997 ; 108470.982) | 
[108470.982 ; 115647.215) | 
[115647.215 ; 122137.200) | @@@@@@@@@

System.Collections.ContainsTrue.Queue(Size: 512)

[ 38137.016 ;  44550.932) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 44550.932 ;  50964.849) | 
[ 50964.849 ;  57378.765) | 
[ 57378.765 ;  63792.681) | 
[ 63792.681 ;  70206.597) | 
[ 70206.597 ;  76620.514) | 
[ 76620.514 ;  83034.430) | 
[ 83034.430 ;  89448.346) | 
[ 89448.346 ;  95862.262) | 
[ 95862.262 ; 102276.179) | 
[102276.179 ; 108690.095) | 
[108690.095 ; 115921.666) | 
[115921.666 ; 122335.582) | @@@@@@@@@

System.Collections.ContainsTrue.ICollection(Size: 512)

[ 37234.692 ;  43644.541) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 43644.541 ;  50054.389) | 
[ 50054.389 ;  56464.238) | 
[ 56464.238 ;  62874.086) | 
[ 62874.086 ;  69283.935) | 
[ 69283.935 ;  75693.783) | 
[ 75693.783 ;  82103.632) | 
[ 82103.632 ;  88513.480) | 
[ 88513.480 ;  94923.329) | 
[ 94923.329 ; 101333.177) | 
[101333.177 ; 107743.026) | 
[107743.026 ; 115217.905) | 
[115217.905 ; 121627.753) | @@@@@@@@@

System.Collections.ContainsTrue.Span(Size: 512)

[ 34357.683 ;  41646.559) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 41646.559 ;  48421.977) | 
[ 48421.977 ;  55197.395) | 
[ 55197.395 ;  61972.813) | 
[ 61972.813 ;  68748.231) | 
[ 68748.231 ;  75523.650) | 
[ 75523.650 ;  82299.068) | 
[ 82299.068 ;  89074.486) | 
[ 89074.486 ;  95849.904) | 
[ 95849.904 ; 102625.322) | 
[102625.322 ; 109400.741) | 
[109400.741 ; 118252.968) | 
[118252.968 ; 125394.354) | @@@@@@@@@

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@adamsitnik
Copy link
Collaborator

@DrewScoggins In the data I have it looks like it's also slower for ARM which might mean that there is a 32-bit specific regression. I am going to update the issue once I have x86 data:

System.Collections.ContainsTrue.ImmutableArray(Size: 512)

Conclusion Base Diff Base/Diff Modality Operating System Bit Processor Name Base Runtime Diff Runtime
Slower 68855.78 192402.65 0.36 Windows 10.0.18363.1016 Arm Microsoft SQ1 3.0 GHz .NET Core 3.1.6 5.0.100-rc.1.20413.9
Same 36368.52 35663.48 1.02 Windows 10.0.18363.959 X64 Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 3.1.6 5.0.100-rc.1.20404.3
Same 35520.51 37094.37 0.96 Windows 10.0.18363.959 X64 Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 3.1.6 5.0.100-rc.1.20418.3
Same 40998.40 41309.32 0.99 Windows 10.0.19041.450 X64 Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 3.1.6 5.0.100-rc.1.20413.9
Same 35607.41 34926.73 1.02 ubuntu 18.04 X64 Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 3.1.6 5.0.100-rc.1.20403.23
Faster 44974.12 40966.49 1.10 macOS Mojave 10.14.5 X64 Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 3.1.6 5.0.100-rc.1.20404.2

@adamsitnik
Copy link
Collaborator

It looks like a 32-bit only regression (both ARM and x86). @DrewScoggins could you please transfer it to runtime repo (I've applied the Needs Transfer label) :

System.Collections.ContainsTrue.ICollection(Size: 512)

Conclusion Base Diff Base/Diff Modality Operating System Bit Processor Name Base Runtime Diff Runtime
Slower 65833.64 190178.39 0.35 Windows 10.0.18363.1016 Arm Microsoft SQ1 3.0 GHz .NET Core 3.1.6 5.0.100-rc.1.20413.9
Same 33533.22 33973.23 0.99 Windows 10.0.18363.959 X64 Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 3.1.6 5.0.100-rc.1.20404.3
Same 35217.30 34374.73 1.02 Windows 10.0.18363.959 X64 Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 3.1.6 5.0.100-rc.1.20418.3
Same 39272.39 39510.22 0.99 Windows 10.0.19041.450 X64 Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 3.1.6 5.0.100-rc.1.20413.9
Same 36729.22 36526.22 1.01 Windows 10.0.19041.450 X64 Intel Core i7-6700 CPU 3.40GHz (Skylake) .NET Core 3.1.6 5.0.100-rc.1.20419.9
Same 31012.96 31011.54 1.00 Windows 10.0.19042 X64 Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 3.1.6 5.0.100-rc.1.20418.3
Slower 35646.15 115208.04 0.31 Windows 10.0.18363.959 X86 Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 3.1.6 5.0.100-rc.1.20420.2
Slower 39809.39 128785.22 0.31 Windows 10.0.19041.450 X86 Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 3.1.6 5.0.100-rc.1.20419.5
Same 34530.97 34085.75 1.01 ubuntu 18.04 X64 Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 3.1.6 5.0.100-rc.1.20403.23
Faster 43803.26 40551.29 1.08 macOS Mojave 10.14.5 X64 Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 3.1.6 5.0.100-rc.1.20404.2
Faster 37258.98 31843.53 1.17 ubuntu 18.04 X64 Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 3.1.6 5.0.100-rc.1.20418.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants