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

Regressions in RentReturn ArrayPool and ConcurrentQueue #46714

Closed
DrewScoggins opened this issue Jan 8, 2021 · 6 comments
Closed

Regressions in RentReturn ArrayPool and ConcurrentQueue #46714

DrewScoggins opened this issue Jan 8, 2021 · 6 comments
Labels
arch-x64 arch-x86 area-System.Collections os-linux Linux OS (any supported distro) os-windows tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark untriaged New issue has not been triaged by the area owner

Comments

@DrewScoggins
Copy link
Member

DrewScoggins commented Jan 8, 2021

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Byte>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SingleParallel 1.21 μs 1.76 μs 1.46

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests&lt;Byte&gt;*'

.

Payloads

Baseline
Compare

Histogram

System.Buffers.Tests.RentReturnArrayPoolTests<Byte>.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)

[1118.606 ; 1176.984) | @@@@@
[1176.984 ; 1260.293) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1260.293 ; 1338.514) | @@@@@@@@@@
[1338.514 ; 1421.822) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1421.822 ; 1495.232) | @@@
[1495.232 ; 1592.764) | 
[1592.764 ; 1669.600) | @@
[1669.600 ; 1748.917) | @@@@@@@@@@@
[1748.917 ; 1832.225) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1832.225 ; 1916.154) | @@@@@@@@@@@@@@@@@@@@@@@@@
[1916.154 ; 1984.255) | @

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Object>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SingleParallel 1.20 μs 1.85 μs 1.55

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests&lt;Object&gt;*'

.

Payloads

Baseline
Compare

Histogram

System.Buffers.Tests.RentReturnArrayPoolTests<Object>.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)

[1117.689 ; 1209.328) | @@@@@@@@@@@@@@@@@@@
[1209.328 ; 1289.506) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1289.506 ; 1338.599) | @@@@@@@@@@@@@@
[1338.599 ; 1418.777) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1418.777 ; 1489.738) | 
[1489.738 ; 1569.916) | @@@
[1569.916 ; 1668.054) | @@@@@
[1668.054 ; 1757.199) | @@@@@@@@@
[1757.199 ; 1837.377) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1837.377 ; 1923.808) | @@@@@@@@@@@@@@@@@
[1923.808 ; 2018.963) | @@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 5a3d44e40b69619193c8cd6b0742858febd20ff5
Compare 497c3349aa05ba8332f2050f9d0c24eb01d677dd

Regressions in System.Threading.Tests.Perf_ThreadPool

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
QueueUserWorkItem_WaitCallback_Throughput 1.84 secs 3.14 secs 1.70

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Threading.Tests.Perf_ThreadPool*'

.

Payloads

Baseline
Compare

Histogram

System.Threading.Tests.Perf_ThreadPool.QueueUserWorkItem_WaitCallback_Throughput(WorkItemsPerCore: 20000000)

[1733395942.006 ; 1829048368.540) | @
[1829048368.540 ; 1982149055.360) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1982149055.360 ; 2099960751.215) | 
[2099960751.215 ; 2214112911.231) | @@@
[2214112911.231 ; 2367213598.052) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2367213598.052 ; 2456297712.290) | @@
[2456297712.290 ; 2622827509.548) | @@@@
[2622827509.548 ; 2779138923.291) | @@@@@@@@@@@@@@
[2779138923.291 ; 2932239610.112) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2932239610.112 ; 3084484483.044) | @@@@@@@@@@
[3084484483.044 ; 3225845795.111) | @@@@@@
[3225845795.111 ; 3378946481.932) | @@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 5a3d44e40b69619193c8cd6b0742858febd20ff5
Compare 497c3349aa05ba8332f2050f9d0c24eb01d677dd

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<String<

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 68.19 ms 284.75 ms 4.18

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.AddRemoveFromSameThreads&lt;String&gt;*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads<String>.ConcurrentQueue(Size: 2000000)

[ 52374644.303 ;  84514800.097) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 84514800.097 ; 115275043.491) | 
[115275043.491 ; 155004817.122) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[155004817.122 ; 190919471.628) | @
[190919471.628 ; 221679715.022) | @@
[221679715.022 ; 243073725.128) | 
[243073725.128 ; 266013209.628) | @@@
[266013209.628 ; 296773453.022) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 35fbaefa57f94268090dd28d432b6109e64a8c48
Compare 497c3349aa05ba8332f2050f9d0c24eb01d677dd

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<Int32>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 64.75 ms 283.08 ms 4.37

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.AddRemoveFromSameThreads&lt;Int32&gt;*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads<Int32>.ConcurrentQueue(Size: 2000000)

[ 47539314.473 ;  81337596.808) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 81337596.808 ; 113314195.171) | 
[113314195.171 ; 154699318.962) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[154699318.962 ; 176488560.437) | @@
[176488560.437 ; 206006110.119) | 
[206006110.119 ; 237982708.481) | @
[237982708.481 ; 270767254.044) | @@@@@@
[270767254.044 ; 302743852.406) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[302743852.406 ; 323850292.481) | @@

Docs

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

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Threading.Tests.Perf_ThreadPool

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
QueueUserWorkItem_WaitCallback_Throughput 1.76 secs 3.76 secs 2.13 10438600000 12618650000 1.2088450558504014 Trace Trace

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.Threading.Tests.Perf_ThreadPool*'

.

Payloads

Baseline
Compare

Histogram

System.Threading.Tests.Perf_ThreadPool.QueueUserWorkItem_WaitCallback_Throughput(WorkItemsPerCore: 20000000)

[1614950716.886 ; 1924117809.692) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1924117809.692 ; 2259357862.764) | @@@
[2259357862.764 ; 2568524955.570) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2568524955.570 ; 2821005803.597) | @
[2821005803.597 ; 3190728051.391) | @@
[3190728051.391 ; 3499895144.197) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3499895144.197 ; 3767532120.264) | @@@@@@@@
[3767532120.264 ; 4076699213.070) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[4076699213.070 ; 4305690843.903) | @@@
[4305690843.903 ; 4573557091.403) | @

Docs

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

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<String>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 92.29 ms 422.19 ms 4.57

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.Concurrent.AddRemoveFromSameThreads&lt;String&gt;*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads<String>.ConcurrentQueue(Size: 2000000)

[ 69851685.098 ; 116806245.863) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[116806245.863 ; 161272260.283) | 
[161272260.283 ; 192334335.290) | 
[192334335.290 ; 236800349.710) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[236800349.710 ; 281266364.129) | 
[281266364.129 ; 325732378.548) | 
[325732378.548 ; 370198392.967) | 
[370198392.967 ; 391242762.790) | 
[391242762.790 ; 435708777.210) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[435708777.210 ; 486685734.896) | 
[486685734.896 ; 531151749.315) | @

Docs

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

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Object>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SingleParallel 2.02 μs 2.40 μs 1.19

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.Buffers.Tests.RentReturnArrayPoolTests&lt;Object&gt;*'

.

Payloads

Baseline
Compare

Histogram

System.Buffers.Tests.RentReturnArrayPoolTests<Object>.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)

[1582.754 ; 1676.017) | @@@@@@@
[1676.017 ; 1760.955) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1760.955 ; 1839.122) | @@@@
[1839.122 ; 1920.221) | @@@@@@@@@@@@@@@@@@@@@@@
[1920.221 ; 2005.159) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2005.159 ; 2100.917) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2100.917 ; 2186.215) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2186.215 ; 2274.115) | @@@@@@@@@@@
[2274.115 ; 2399.990) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2399.990 ; 2503.935) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2503.935 ; 2587.140) | @@@@@@@@@@
[2587.140 ; 2676.498) | @

Docs

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

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<Int32>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 91.17 ms 429.94 ms 4.72

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.Concurrent.AddRemoveFromSameThreads&lt;Int32&gt;*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads<Int32>.ConcurrentQueue(Size: 2000000)

[ 65947006.659 ; 115273995.484) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[115273995.484 ; 170924999.309) | 
[170924999.309 ; 216485628.849) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[216485628.849 ; 262046258.388) | 
[262046258.388 ; 307606887.928) | 
[307606887.928 ; 353167517.468) | 
[353167517.468 ; 396728247.730) | 
[396728247.730 ; 442288877.270) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x86
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<String>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 91.83 ms 422.01 ms 4.60

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.Concurrent.AddRemoveFromSameThreads&lt;String&gt;*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads<String>.ConcurrentQueue(Size: 2000000)

[ 66560787.264 ; 114186946.283) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[114186946.283 ; 159549879.447) | 
[159549879.447 ; 176585413.418) | 
[176585413.418 ; 221948346.582) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[221948346.582 ; 267311279.746) | 
[267311279.746 ; 312674212.911) | 
[312674212.911 ; 358037146.075) | 
[358037146.075 ; 395485337.029) | 
[395485337.029 ; 440848270.193) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[440848270.193 ; 477493276.196) | 
[477493276.196 ; 523945346.582) | @@@

Docs

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

Run Information

Architecture x86
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Collections.Concurrent.IsEmpty<String>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Queue 7.71 ns 9.26 ns 1.20

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.Concurrent.IsEmpty&lt;String&gt;*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.IsEmpty<String>.Queue(Size: 0)

[7.333 ; 7.499) | @@
[7.499 ; 7.772) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[7.772 ; 8.013) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[8.013 ; 8.317) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[8.317 ; 8.652) | @@@@@@@@@@@@
[8.652 ; 8.931) | @@@@@@
[8.931 ; 9.201) | @
[9.201 ; 9.613) | @@@

Docs

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

Run Information

Architecture x86
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<String>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 90.29 ms 427.81 ms 4.74

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.Concurrent.AddRemoveFromSameThreads&lt;String&gt;*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads<String>.ConcurrentQueue(Size: 2000000)

[ 61043548.525 ; 111841940.761) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[111841940.761 ; 158469700.854) | 
[158469700.854 ; 181114212.585) | 
[181114212.585 ; 227741972.678) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[227741972.678 ; 274369732.771) | 
[274369732.771 ; 320997492.864) | 
[320997492.864 ; 367625252.957) | 
[367625252.957 ; 403736434.953) | 
[403736434.953 ; 450364195.047) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

@DrewScoggins DrewScoggins added arch-x86 os-linux Linux OS (any supported distro) os-windows tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark arch-x64 labels Jan 8, 2021
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added area-System.Collections untriaged New issue has not been triaged by the area owner labels Jan 8, 2021
@ghost
Copy link

ghost commented Jan 8, 2021

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

Issue Details

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Byte>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SingleParallel 1.21 μs 1.76 μs 1.46

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests<Byte>*'

.

Payloads

Baseline
Compare

Histogram

System.Buffers.Tests.RentReturnArrayPoolTests.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)

[1118.606 ; 1176.984) | @@@@@
[1176.984 ; 1260.293) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1260.293 ; 1338.514) | @@@@@@@@@@
[1338.514 ; 1421.822) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1421.822 ; 1495.232) | @@@
[1495.232 ; 1592.764) | 
[1592.764 ; 1669.600) | @@
[1669.600 ; 1748.917) | @@@@@@@@@@@
[1748.917 ; 1832.225) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1832.225 ; 1916.154) | @@@@@@@@@@@@@@@@@@@@@@@@@
[1916.154 ; 1984.255) | @

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Object>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SingleParallel 1.20 μs 1.85 μs 1.55

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests<Object>*'

.

Payloads

Baseline
Compare

Histogram

System.Buffers.Tests.RentReturnArrayPoolTests.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)
[1117.689 ; 1209.328) | @@@@@@@@@@@@@@@@@@@
[1209.328 ; 1289.506) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1289.506 ; 1338.599) | @@@@@@@@@@@@@@
[1338.599 ; 1418.777) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1418.777 ; 1489.738) | 
[1489.738 ; 1569.916) | @@@
[1569.916 ; 1668.054) | @@@@@
[1668.054 ; 1757.199) | @@@@@@@@@
[1757.199 ; 1837.377) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1837.377 ; 1923.808) | @@@@@@@@@@@@@@@@@
[1923.808 ; 2018.963) | @@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 5a3d44e40b69619193c8cd6b0742858febd20ff5
Compare 497c3349aa05ba8332f2050f9d0c24eb01d677dd

Regressions in System.Threading.Tests.Perf_ThreadPool

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
QueueUserWorkItem_WaitCallback_Throughput 1.84 secs 3.14 secs 1.70

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Threading.Tests.Perf_ThreadPool*'

.

Payloads

Baseline
Compare

Histogram

System.Threading.Tests.Perf_ThreadPool.QueueUserWorkItem_WaitCallback_Throughput(WorkItemsPerCore: 20000000)

[1733395942.006 ; 1829048368.540) | @
[1829048368.540 ; 1982149055.360) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1982149055.360 ; 2099960751.215) | 
[2099960751.215 ; 2214112911.231) | @@@
[2214112911.231 ; 2367213598.052) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2367213598.052 ; 2456297712.290) | @@
[2456297712.290 ; 2622827509.548) | @@@@
[2622827509.548 ; 2779138923.291) | @@@@@@@@@@@@@@
[2779138923.291 ; 2932239610.112) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2932239610.112 ; 3084484483.044) | @@@@@@@@@@
[3084484483.044 ; 3225845795.111) | @@@@@@
[3225845795.111 ; 3378946481.932) | @@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 5a3d44e40b69619193c8cd6b0742858febd20ff5
Compare 497c3349aa05ba8332f2050f9d0c24eb01d677dd

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 68.19 ms 284.75 ms 4.18

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.AddRemoveFromSameThreads<String>*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)

[ 52374644.303 ;  84514800.097) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 84514800.097 ; 115275043.491) | 
[115275043.491 ; 155004817.122) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[155004817.122 ; 190919471.628) | @
[190919471.628 ; 221679715.022) | @@
[221679715.022 ; 243073725.128) | 
[243073725.128 ; 266013209.628) | @@@
[266013209.628 ; 296773453.022) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 35fbaefa57f94268090dd28d432b6109e64a8c48
Compare 497c3349aa05ba8332f2050f9d0c24eb01d677dd

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 64.75 ms 283.08 ms 4.37

graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)

[ 47539314.473 ;  81337596.808) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 81337596.808 ; 113314195.171) | 
[113314195.171 ; 154699318.962) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[154699318.962 ; 176488560.437) | @@
[176488560.437 ; 206006110.119) | 
[206006110.119 ; 237982708.481) | @
[237982708.481 ; 270767254.044) | @@@@@@
[270767254.044 ; 302743852.406) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[302743852.406 ; 323850292.481) | @@

Docs

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

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Threading.Tests.Perf_ThreadPool

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
QueueUserWorkItem_WaitCallback_Throughput 1.76 secs 3.76 secs 2.13 10438600000 12618650000 1.2088450558504014 Trace Trace

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.Threading.Tests.Perf_ThreadPool*'

.

Payloads

Baseline
Compare

Histogram

System.Threading.Tests.Perf_ThreadPool.QueueUserWorkItem_WaitCallback_Throughput(WorkItemsPerCore: 20000000)

[1614950716.886 ; 1924117809.692) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1924117809.692 ; 2259357862.764) | @@@
[2259357862.764 ; 2568524955.570) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2568524955.570 ; 2821005803.597) | @
[2821005803.597 ; 3190728051.391) | @@
[3190728051.391 ; 3499895144.197) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3499895144.197 ; 3767532120.264) | @@@@@@@@
[3767532120.264 ; 4076699213.070) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[4076699213.070 ; 4305690843.903) | @@@
[4305690843.903 ; 4573557091.403) | @

Docs

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

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 92.29 ms 422.19 ms 4.57

Related Issue on x64 ubuntu

[Perf 51%] System.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue

Related Issue on x86 Windows

[Perf 55%] System.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue

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.Concurrent.AddRemoveFromSameThreads<String>*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)

[ 69851685.098 ; 116806245.863) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[116806245.863 ; 161272260.283) | 
[161272260.283 ; 192334335.290) | 
[192334335.290 ; 236800349.710) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[236800349.710 ; 281266364.129) | 
[281266364.129 ; 325732378.548) | 
[325732378.548 ; 370198392.967) | 
[370198392.967 ; 391242762.790) | 
[391242762.790 ; 435708777.210) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[435708777.210 ; 486685734.896) | 
[486685734.896 ; 531151749.315) | @

Docs

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

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Buffers.Tests.RentReturnArrayPoolTests
Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SingleParallel 2.02 μs 2.40 μs 1.19

Related Issue on x64 ubuntu

[Perf 7%] System.Buffers.Tests.RentReturnArrayPoolTests.SingleParallel

Related Issue on x64 ubuntu

[Perf 69%] System.Buffers.Tests.RentReturnArrayPoolTests.ProducerConsumer

Related Issue on x64 ubuntu

[Perf 28%] System.Buffers.Tests.RentReturnArrayPoolTests (2)

Related Issue on x86 Windows

[Perf 35%] System.Buffers.Tests.RentReturnArrayPoolTests (3)

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.Buffers.Tests.RentReturnArrayPoolTests<Object>*'

.

Payloads

Baseline
Compare

Histogram

System.Buffers.Tests.RentReturnArrayPoolTests.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)
[1582.754 ; 1676.017) | @@@@@@@
[1676.017 ; 1760.955) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1760.955 ; 1839.122) | @@@@
[1839.122 ; 1920.221) | @@@@@@@@@@@@@@@@@@@@@@@
[1920.221 ; 2005.159) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2005.159 ; 2100.917) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2100.917 ; 2186.215) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2186.215 ; 2274.115) | @@@@@@@@@@@
[2274.115 ; 2399.990) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2399.990 ; 2503.935) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2503.935 ; 2587.140) | @@@@@@@@@@
[2587.140 ; 2676.498) | @

Docs

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

Run Information

Architecture x64
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 91.17 ms 429.94 ms 4.72

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.Concurrent.AddRemoveFromSameThreads<Int32>*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)

[ 65947006.659 ; 115273995.484) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[115273995.484 ; 170924999.309) | 
[170924999.309 ; 216485628.849) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[216485628.849 ; 262046258.388) | 
[262046258.388 ; 307606887.928) | 
[307606887.928 ; 353167517.468) | 
[353167517.468 ; 396728247.730) | 
[396728247.730 ; 442288877.270) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x86
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 91.83 ms 422.01 ms 4.60

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.Concurrent.AddRemoveFromSameThreads<String>*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)

[ 66560787.264 ; 114186946.283) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[114186946.283 ; 159549879.447) | 
[159549879.447 ; 176585413.418) | 
[176585413.418 ; 221948346.582) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[221948346.582 ; 267311279.746) | 
[267311279.746 ; 312674212.911) | 
[312674212.911 ; 358037146.075) | 
[358037146.075 ; 395485337.029) | 
[395485337.029 ; 440848270.193) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[440848270.193 ; 477493276.196) | 
[477493276.196 ; 523945346.582) | @@@

Docs

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

Run Information

Architecture x86
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Collections.Concurrent.IsEmpty

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Queue 7.71 ns 9.26 ns 1.20

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.Concurrent.IsEmpty<String>*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.IsEmpty.Queue(Size: 0)

[7.333 ; 7.499) | @@
[7.499 ; 7.772) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[7.772 ; 8.013) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[8.013 ; 8.317) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[8.317 ; 8.652) | @@@@@@@@@@@@
[8.652 ; 8.931) | @@@@@@
[8.931 ; 9.201) | @
[9.201 ; 9.613) | @@@

Docs

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

Run Information

Architecture x86
OS Windows 10.0.18362
Baseline 03e4f5e36410203a7ebab55ac177c166406ea1fe
Compare be27e294a12514638bb5337c7fe5cc72d93a443a

Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ConcurrentQueue 90.29 ms 427.81 ms 4.74

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.Concurrent.AddRemoveFromSameThreads<Int32>*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)

[ 61043548.525 ; 111841940.761) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[111841940.761 ; 158469700.854) | 
[158469700.854 ; 181114212.585) | 
[181114212.585 ; 227741972.678) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[227741972.678 ; 274369732.771) | 
[274369732.771 ; 320997492.864) | 
[320997492.864 ; 367625252.957) | 
[367625252.957 ; 403736434.953) | 
[403736434.953 ; 450364195.047) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Author: DrewScoggins
Assignees: -
Labels:

arch-x64, arch-x86, area-System.Collections, os-linux, os-windows, tenet-performance, tenet-performance-benchmarks, untriaged

Milestone: -

@DrewScoggins
Copy link
Member Author

DrewScoggins commented Jan 8, 2021

Linking #46684

@eiriktsarpalis
Copy link
Member

Running bisect on both types of regressions, they all seem to point to #46120 being the culprit. Should we close this in favor of #46684?

@DrewScoggins
Copy link
Member Author

We are also seeing these regressions on AMR64. It looks like we never really came to a conclusion on what to do here @kouvel, are we just taking these regressions because we don't think the test is very representative and the gains we got in the ASP.Net benchmarks are worth it?

image

@kouvel
Copy link
Member

kouvel commented Jun 10, 2021

Seems like these tests are in the same boat as the ones in #46684. Some microbenchmarks will tend to be sensitive to spin-waiting heuristics, I think we can just consider the new numbers as the new baseline. Tests under load have shown that the change is better than before.

@kouvel
Copy link
Member

kouvel commented Jul 7, 2021

Closing, as these are one-off differences and we can re-baseline on the new numbers

@kouvel kouvel closed this as completed Jul 7, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Aug 6, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-x64 arch-x86 area-System.Collections os-linux Linux OS (any supported distro) os-windows tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark untriaged New issue has not been triaged by the area owner
Projects
None yet
Development

No branches or pull requests

4 participants