Skip to content

[Benchmark X64] [VSadov] Remove queue-subdispatching pattern to the ThreadPo ... #2113

Description

@MihuBot

Job completed in 42 minutes 29 seconds (remote runner delay: 1 minute 19 seconds).
dotnet/runtime#131177
Using arguments: benchmark System.Threading
Main commit: dotnet/runtime@7dfe2b5
PR commit: VSadov/runtime@b9a92a0

System.Threading.Tests.Perf_Volatile
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-NRQIIJ : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-NGSIDY : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  PowerPlanMode=  IterationTime=250ms
MaxIterationCount=20  MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
Write_double Main 0.9338 ns 0.0040 ns 1.00 - NA
Write_double PR 0.9317 ns 0.0029 ns 1.00 - NA
Read_double Main 0.9485 ns 0.0045 ns 1.00 - NA
Read_double PR 0.9459 ns 0.0064 ns 1.00 - NA
System.Threading.Tests.Perf_Timer
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-NRQIIJ : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-NGSIDY : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  PowerPlanMode=  IterationTime=250ms
MaxIterationCount=20  MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
ShortScheduleAndDispose Main 74.99 ns 0.395 ns 1.00 120 B 1.00
ShortScheduleAndDispose PR 75.45 ns 0.697 ns 1.01 120 B 1.00
LongScheduleAndDispose Main 75.44 ns 0.651 ns 1.00 120 B 1.00
LongScheduleAndDispose PR 75.34 ns 0.673 ns 1.00 120 B 1.00
ScheduleManyThenDisposeMany Main 223,379,838.13 ns 1,965,673.532 ns 1.00 144001328 B 1.00
ScheduleManyThenDisposeMany PR 223,129,600.73 ns 2,591,171.964 ns 1.00 144001328 B 1.00
ShortScheduleAndDisposeWithFiringTimers Main 80.28 ns 1.599 ns 1.00 144 B 1.00
ShortScheduleAndDisposeWithFiringTimers PR 80.46 ns 1.515 ns 1.00 144 B 1.00
SynchronousContention Main 1,420,584,665.07 ns 17,411,095.255 ns 1.00 1152000760 B 1.00
SynchronousContention PR 1,298,023,677.18 ns 25,870,105.978 ns 0.91 1152000760 B 1.00
AsynchronousContention Main 1,128,918,393.85 ns 36,890,792.880 ns 1.00 1152002232 B 1.00
AsynchronousContention PR 1,403,692,668.40 ns 41,823,779.338 ns 1.25 1152002232 B 1.00
System.Threading.Tests.Perf_ThreadStatic
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
GetThreadStatic Main 1.869 ns 0.0084 ns 1.00 - NA
GetThreadStatic PR 1.886 ns 0.0068 ns 1.01 - NA
SetThreadStatic Main 3.271 ns 0.0107 ns 1.00 - NA
SetThreadStatic PR 3.272 ns 0.0150 ns 1.00 - NA
System.Threading.Tests.Perf_ThreadPool
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1  Gen0=38000.0000
Method Toolchain WorkItemsPerCore Mean Error Ratio Allocated Alloc Ratio
QueueUserWorkItem_WaitCallback_Throughput Main 20000000 1.980 s 0.0144 s 1.00 610.35 MB 1.00
QueueUserWorkItem_WaitCallback_Throughput PR 20000000 1.965 s 0.0112 s 0.99 610.35 MB 1.00
System.Threading.Tests.Perf_Thread
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-NRQIIJ : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-NGSIDY : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  PowerPlanMode=  IterationTime=250ms
MaxIterationCount=20  MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
CurrentThread Main 1.895 ns 0.0140 ns 1.00 - NA
CurrentThread PR 1.892 ns 0.0078 ns 1.00 - NA
GetCurrentProcessorId Main 2.321 ns 0.0074 ns 1.00 - NA
GetCurrentProcessorId PR 2.119 ns 0.0111 ns 0.91 - NA
System.Threading.Tests.Perf_SpinLock
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
EnterExit Main 10.560 ns 0.0062 ns 1.00 - NA
EnterExit PR 10.553 ns 0.0124 ns 1.00 - NA
TryEnterExit Main 10.564 ns 0.0055 ns 1.00 - NA
TryEnterExit PR 10.546 ns 0.0044 ns 1.00 - NA
TryEnter_Fail Main 1.236 ns 0.0054 ns 1.00 - NA
TryEnter_Fail PR 1.233 ns 0.0050 ns 1.00 - NA
System.Threading.Tests.Perf_SemaphoreSlim
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
ReleaseWait Main 29.63 ns 0.016 ns 1.00 - NA
ReleaseWait PR 29.65 ns 0.014 ns 1.00 - NA
ReleaseWaitAsync Main 28.25 ns 0.021 ns 1.00 - NA
ReleaseWaitAsync PR 28.26 ns 0.011 ns 1.00 - NA
ReleaseWaitAsync_WithCancellationToken Main 317.66 ns 20.687 ns 1.00 528 B 1.00
ReleaseWaitAsync_WithCancellationToken PR 317.60 ns 22.628 ns 1.00 528 B 1.00
ReleaseWaitAsync_WithTimeout Main 337.80 ns 17.205 ns 1.00 624 B 1.00
ReleaseWaitAsync_WithTimeout PR 318.12 ns 7.530 ns 0.94 624 B 1.00
ReleaseWaitAsync_WithCancellationTokenAndTimeout Main 361.32 ns 11.905 ns 1.00 624 B 1.00
ReleaseWaitAsync_WithCancellationTokenAndTimeout PR 362.21 ns 17.881 ns 1.00 624 B 1.00
System.Threading.Tests.Perf_Monitor
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
EnterExit Main 13.55 ns 0.008 ns 1.00 - NA
EnterExit PR 13.55 ns 0.006 ns 1.00 - NA
TryEnterExit Main 13.55 ns 0.009 ns 1.00 - NA
TryEnterExit PR 13.54 ns 0.007 ns 1.00 - NA
System.Threading.Tests.Perf_Lock
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
ReaderWriterLockSlimPerf Main 13.55 ns 0.008 ns 1.00 - NA
ReaderWriterLockSlimPerf PR 13.55 ns 0.034 ns 1.00 - NA
System.Threading.Tests.Perf_Interlocked
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
Increment_int Main 4.824 ns 0.0021 ns 1.00 - NA
Increment_int PR 4.820 ns 0.0040 ns 1.00 - NA
Decrement_int Main 4.829 ns 0.0159 ns 1.00 - NA
Decrement_int PR 4.819 ns 0.0018 ns 1.00 - NA
Increment_long Main 4.818 ns 0.0025 ns 1.00 - NA
Increment_long PR 4.820 ns 0.0016 ns 1.00 - NA
Decrement_long Main 4.815 ns 0.0020 ns 1.00 - NA
Decrement_long PR 4.820 ns 0.0025 ns 1.00 - NA
Add_int Main 4.815 ns 0.0016 ns 1.00 - NA
Add_int PR 4.816 ns 0.0022 ns 1.00 - NA
Add_long Main 4.817 ns 0.0019 ns 1.00 - NA
Add_long PR 4.819 ns 0.0019 ns 1.00 - NA
Exchange_int Main 4.819 ns 0.0033 ns 1.00 - NA
Exchange_int PR 4.819 ns 0.0048 ns 1.00 - NA
Exchange_long Main 4.817 ns 0.0020 ns 1.00 - NA
Exchange_long PR 4.820 ns 0.0020 ns 1.00 - NA
CompareExchange_int Main 4.829 ns 0.0024 ns 1.00 - NA
CompareExchange_int PR 4.830 ns 0.0019 ns 1.00 - NA
CompareExchange_long Main 4.832 ns 0.0037 ns 1.00 - NA
CompareExchange_long PR 4.831 ns 0.0033 ns 1.00 - NA
CompareExchange_object_Match Main 5.509 ns 0.0028 ns 1.00 - NA
CompareExchange_object_Match PR 5.508 ns 0.0035 ns 1.00 - NA
CompareExchange_object_NoMatch Main 5.510 ns 0.0028 ns 1.00 - NA
CompareExchange_object_NoMatch PR 5.508 ns 0.0041 ns 1.00 - NA
System.Threading.Tests.Perf_EventWaitHandle
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
Set_Reset Main 42.75 ns 0.027 ns 1.00 - NA
Set_Reset PR 42.72 ns 0.020 ns 1.00 - NA
System.Threading.Tests.Perf_CancellationToken
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-NRQIIJ : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-NGSIDY : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  PowerPlanMode=  IterationTime=250ms
MaxIterationCount=20  MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
RegisterAndUnregister_Serial Main 18.912 ns 0.0493 ns 1.00 - NA
RegisterAndUnregister_Serial PR 18.946 ns 0.1112 ns 1.00 - NA
Cancel Main 54.448 ns 0.8583 ns 1.00 192 B 1.00
Cancel PR 53.189 ns 0.3285 ns 0.98 192 B 1.00
CreateLinkedTokenSource1 Main 21.830 ns 0.3112 ns 1.00 64 B 1.00
CreateLinkedTokenSource1 PR 21.034 ns 0.4128 ns 0.96 64 B 1.00
CreateLinkedTokenSource2 Main 38.236 ns 0.4997 ns 1.00 80 B 1.00
CreateLinkedTokenSource2 PR 37.323 ns 0.1491 ns 0.98 80 B 1.00
CreateLinkedTokenSource3 Main 58.207 ns 0.3793 ns 1.00 128 B 1.00
CreateLinkedTokenSource3 PR 58.819 ns 0.3601 ns 1.01 128 B 1.00
CreateTokenDispose Main 5.448 ns 0.0367 ns 1.00 48 B 1.00
CreateTokenDispose PR 5.462 ns 0.0467 ns 1.00 48 B 1.00
CreateRegisterDispose Main 32.044 ns 0.3211 ns 1.00 192 B 1.00
CreateRegisterDispose PR 31.946 ns 0.3375 ns 1.00 192 B 1.00
CreateManyRegisterDispose Main 14.507 ns 0.0215 ns 1.00 - NA
CreateManyRegisterDispose PR 14.487 ns 0.0178 ns 1.00 - NA
CreateManyRegisterMultipleDispose Main 80.629 ns 0.1873 ns 1.00 - NA
CreateManyRegisterMultipleDispose PR 81.699 ns 0.1683 ns 1.01 - NA
CancelAfter Main 51.286 ns 0.3029 ns 1.00 144 B 1.00
CancelAfter PR 52.058 ns 1.7330 ns 1.02 144 B 1.00
System.Threading.Tasks.Tests.Perf_AsyncMethods
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
EmptyAsyncMethodInvocation Main 3.731 ns 0.0128 ns 1.00 - NA
EmptyAsyncMethodInvocation PR 3.286 ns 0.0038 ns 0.88 - NA
SingleYieldMethodInvocation Main 102.221 ns 5.3328 ns 1.00 96 B 1.00
SingleYieldMethodInvocation PR 100.185 ns 4.8837 ns 0.98 96 B 1.00
Yield Main 30.483 ns 0.5967 ns 1.00 - NA
Yield PR 30.693 ns 1.1908 ns 1.01 - NA
System.Threading.Tasks.ValueTaskPerfTest
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-UXTJFQ : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-WCARJH : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-XVCCJK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HMQJNI : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  PowerPlanMode=  IterationTime=250ms
MaxIterationCount=20  MaxWarmupIterationCount=10  MinIterationCount=15
MinWarmupIterationCount=2  WarmupCount=-1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
Await_FromResult Main 5.328 ns 0.0110 ns 1.00 - NA
Await_FromResult PR 5.446 ns 0.0079 ns 1.02 - NA
Await_FromCompletedTask Main 9.748 ns 0.1823 ns 1.00 72 B 1.00
Await_FromCompletedTask PR 9.318 ns 0.1712 ns 0.96 72 B 1.00
Await_FromCompletedValueTaskSource Main 15.410 ns 0.2158 ns 1.00 72 B 1.00
Await_FromCompletedValueTaskSource PR 15.242 ns 0.1697 ns 0.99 72 B 1.00
CreateAndAwait_FromResult Main 5.281 ns 0.0154 ns 1.00 - NA
CreateAndAwait_FromResult PR 5.294 ns 0.0182 ns 1.00 - NA
CreateAndAwait_FromResult_ConfigureAwait Main 5.276 ns 0.0160 ns 1.00 - NA
CreateAndAwait_FromResult_ConfigureAwait PR 5.312 ns 0.0280 ns 1.01 - NA
CreateAndAwait_FromCompletedTask Main 5.774 ns 0.0214 ns 1.00 - NA
CreateAndAwait_FromCompletedTask PR 5.914 ns 0.0899 ns 1.02 - NA
CreateAndAwait_FromCompletedTask_ConfigureAwait Main 5.817 ns 0.0137 ns 1.00 - NA
CreateAndAwait_FromCompletedTask_ConfigureAwait PR 6.211 ns 0.0136 ns 1.07 - NA
CreateAndAwait_FromCompletedValueTaskSource Main 6.762 ns 0.0108 ns 1.00 - NA
CreateAndAwait_FromCompletedValueTaskSource PR 6.319 ns 0.0094 ns 0.93 - NA
CreateAndAwait_FromYieldingAsyncMethod Main 204.260 ns 9.2949 ns 1.00 207 B 1.00
CreateAndAwait_FromYieldingAsyncMethod PR 212.860 ns 13.1086 ns 1.04 207 B 1.00
CreateAndAwait_FromDelayedTCS Main 77.672 ns 0.3388 ns 1.00 216 B 1.00
CreateAndAwait_FromDelayedTCS PR 76.081 ns 0.5506 ns 0.98 216 B 1.00
Copy_PassAsArgumentAndReturn_FromResult Main 2.842 ns 0.0268 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromResult PR 2.832 ns 0.0272 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromTask Main 5.853 ns 0.0244 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromTask PR 6.085 ns 0.0314 ns 1.04 - NA
Copy_PassAsArgumentAndReturn_FromValueTaskSource Main 8.025 ns 0.0529 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromValueTaskSource PR 7.993 ns 0.0522 ns 1.00 - NA
CreateAndAwait_FromCompletedValueTaskSource_ConfigureAwait Main 6.334 ns 0.0582 ns 1.00 - NA
CreateAndAwait_FromCompletedValueTaskSource_ConfigureAwait PR 6.310 ns 0.0456 ns 1.00 - NA
System.Threading.Channels.Tests.UnboundedChannelPerfTests
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
TryWriteThenTryRead Main 30.37 ns 0.041 ns 1.00 - NA
TryWriteThenTryRead PR 30.40 ns 0.034 ns 1.00 - NA
WriteAsyncThenReadAsync Main 30.35 ns 0.029 ns 1.00 - NA
WriteAsyncThenReadAsync PR 30.35 ns 0.019 ns 1.00 - NA
ReadAsyncThenWriteAsync Main 49.04 ns 0.016 ns 1.00 - NA
ReadAsyncThenWriteAsync PR 49.30 ns 0.207 ns 1.01 - NA
PingPong Main 2,627,902.03 ns 111,019.119 ns 1.00 903 B 1.00
PingPong PR 2,658,820.31 ns 145,066.288 ns 1.01 901 B 1.00
System.Threading.Channels.Tests.SpscUnboundedChannelPerfTests
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
TryWriteThenTryRead Main 17.54 ns 0.013 ns 1.00 - NA
TryWriteThenTryRead PR 17.54 ns 0.010 ns 1.00 - NA
WriteAsyncThenReadAsync Main 22.39 ns 0.016 ns 1.00 - NA
WriteAsyncThenReadAsync PR 22.43 ns 0.025 ns 1.00 - NA
ReadAsyncThenWriteAsync Main 46.94 ns 0.020 ns 1.00 - NA
ReadAsyncThenWriteAsync PR 47.04 ns 0.076 ns 1.00 - NA
PingPong Main 2,511,563.26 ns 93,531.184 ns 1.00 901 B 1.00
PingPong PR 2,627,531.08 ns 129,689.322 ns 1.05 900 B 1.00
System.Threading.Channels.Tests.BoundedChannelPerfTests
BenchmarkDotNet v0.16.0-nightly.20260703.576, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 8 logical and 4 physical cores
Memory: 31.34 GB Total, 5.59 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), X64 RyuJIT x86-64-v4
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
TryWriteThenTryRead Main 35.91 ns 0.031 ns 1.00 - NA
TryWriteThenTryRead PR 35.87 ns 0.019 ns 1.00 - NA
WriteAsyncThenReadAsync Main 37.57 ns 0.044 ns 1.00 - NA
WriteAsyncThenReadAsync PR 37.61 ns 0.061 ns 1.00 - NA
ReadAsyncThenWriteAsync Main 47.84 ns 0.043 ns 1.00 - NA
ReadAsyncThenWriteAsync PR 48.03 ns 0.038 ns 1.00 - NA
PingPong Main 2,893,666.76 ns 138,789.838 ns 1.00 901 B 1.00
PingPong PR 2,847,279.72 ns 148,677.365 ns 0.99 901 B 1.00

Artifacts:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions