-
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 RentReturn ArrayPool and ConcurrentQueue #46714
Comments
Tagging subscribers to this area: @eiriktsarpalis Issue DetailsRun Information
Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Byte>
Reprogit clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests<Byte>*' . PayloadsHistogramSystem.Buffers.Tests.RentReturnArrayPoolTests.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Object>
Reprogit clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests<Object>*' . PayloadsHistogramSystem.Buffers.Tests.RentReturnArrayPoolTests.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Threading.Tests.Perf_ThreadPool
Reprogit clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Threading.Tests.Perf_ThreadPool*' . PayloadsHistogramSystem.Threading.Tests.Perf_ThreadPool.QueueUserWorkItem_WaitCallback_Throughput(WorkItemsPerCore: 20000000)
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads
Reprogit clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.AddRemoveFromSameThreads<String>*' . PayloadsHistogramSystem.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads
Reprogit clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.AddRemoveFromSameThreads<Int32>*' . PayloadsHistogramSystem.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Threading.Tests.Perf_ThreadPool
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Threading.Tests.Perf_ThreadPool*' . PayloadsHistogramSystem.Threading.Tests.Perf_ThreadPool.QueueUserWorkItem_WaitCallback_Throughput(WorkItemsPerCore: 20000000)
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads
Related Issue on x64 ubuntu[Perf 51%] System.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue Related Issue on x86 Windows[Perf 55%] System.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.AddRemoveFromSameThreads<String>*' . PayloadsHistogramSystem.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Buffers.Tests.RentReturnArrayPoolTests
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)
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests<Object>*' . PayloadsHistogramSystem.Buffers.Tests.RentReturnArrayPoolTests.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.AddRemoveFromSameThreads<Int32>*' . PayloadsHistogramSystem.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.AddRemoveFromSameThreads<String>*' . PayloadsHistogramSystem.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.Concurrent.IsEmpty
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.IsEmpty<String>*' . PayloadsHistogramSystem.Collections.Concurrent.IsEmpty.Queue(Size: 0)
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Concurrent.AddRemoveFromSameThreads<Int32>*' . PayloadsHistogramSystem.Collections.Concurrent.AddRemoveFromSameThreads.ConcurrentQueue(Size: 2000000)
DocsProfiling workflow for dotnet/runtime repository
|
Linking #46684 |
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? |
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. |
Closing, as these are one-off differences and we can re-baseline on the new numbers |
Run Information
Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Byte>
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Buffers.Tests.RentReturnArrayPoolTests<Byte>.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Object>
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Buffers.Tests.RentReturnArrayPoolTests<Object>.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Threading.Tests.Perf_ThreadPool
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Threading.Tests.Perf_ThreadPool.QueueUserWorkItem_WaitCallback_Throughput(WorkItemsPerCore: 20000000)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<String<
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Collections.Concurrent.AddRemoveFromSameThreads<String>.ConcurrentQueue(Size: 2000000)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<Int32>
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Collections.Concurrent.AddRemoveFromSameThreads<Int32>.ConcurrentQueue(Size: 2000000)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Threading.Tests.Perf_ThreadPool
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Threading.Tests.Perf_ThreadPool.QueueUserWorkItem_WaitCallback_Throughput(WorkItemsPerCore: 20000000)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<String>
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Collections.Concurrent.AddRemoveFromSameThreads<String>.ConcurrentQueue(Size: 2000000)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Object>
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Buffers.Tests.RentReturnArrayPoolTests<Object>.SingleParallel(RentalSize: 4096, ManipulateArray: False, Async: True, UseSharedPool: True)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<Int32>
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Collections.Concurrent.AddRemoveFromSameThreads<Int32>.ConcurrentQueue(Size: 2000000)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<String>
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Collections.Concurrent.AddRemoveFromSameThreads<String>.ConcurrentQueue(Size: 2000000)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.Concurrent.IsEmpty<String>
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Collections.Concurrent.IsEmpty<String>.Queue(Size: 0)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.Concurrent.AddRemoveFromSameThreads<String>
Historical Data in Reporting System
Repro
.
Payloads
Baseline
Compare
Histogram
System.Collections.Concurrent.AddRemoveFromSameThreads<String>.ConcurrentQueue(Size: 2000000)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: