Skip to content

[Benchmark X64] [jkoritzinsky] Move CoreCLR over to the managed wait subsystem #1681

@MihuBot

Description

@MihuBot

Job completed in 44 minutes 19 seconds (remote runner delay: 1 minute 38 seconds).
dotnet/runtime#117788
Using arguments: benchmark System.Threading

System.Threading.Tests.Perf_Volatile
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-LIYULD : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-BIOQYX : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms  MaxIterationCount=20
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
Write_double Main 0.0011 ns 0.0004 ns 1.14 - NA
Write_double PR 0.0170 ns 0.0002 ns 17.78 - NA
Read_double Main 0.0000 ns 0.0000 ns ? - ?
Read_double PR 0.0000 ns 0.0000 ns ? - ?
System.Threading.Tests.Perf_Timer
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-LIYULD : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-BIOQYX : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms  MaxIterationCount=20
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
ShortScheduleAndDispose Main 81.69 ns 1.196 ns 1.00 120 B 1.00
ShortScheduleAndDispose PR 79.88 ns 1.156 ns 0.98 120 B 1.00
LongScheduleAndDispose Main 82.33 ns 0.966 ns 1.00 120 B 1.00
LongScheduleAndDispose PR 77.80 ns 0.852 ns 0.95 120 B 1.00
ScheduleManyThenDisposeMany Main 251,127,725.50 ns 4,960,544.997 ns 1.00 144000792 B 1.00
ScheduleManyThenDisposeMany PR 250,680,018.25 ns 4,756,751.471 ns 1.00 144001080 B 1.00
ShortScheduleAndDisposeWithFiringTimers Main 92.33 ns 3.218 ns 1.00 144 B 1.00
ShortScheduleAndDisposeWithFiringTimers PR 91.46 ns 3.550 ns 0.99 144 B 1.00
SynchronousContention Main 1,207,031,754.20 ns 9,747,908.067 ns 1.00 1152000840 B 1.00
SynchronousContention PR 1,199,816,590.07 ns 13,010,584.181 ns 0.99 1152001464 B 1.00
AsynchronousContention Main 1,274,214,338.07 ns 10,389,910.435 ns 1.00 1152002936 B 1.00
AsynchronousContention PR 1,269,298,031.00 ns 3,989,103.185 ns 1.00 1152035336 B 1.00
System.Threading.Tests.Perf_ThreadStatic
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
GetThreadStatic Main 1.380 ns 0.0007 ns 1.00 - NA
GetThreadStatic PR 1.309 ns 0.0818 ns 0.95 - NA
SetThreadStatic Main 3.022 ns 0.0023 ns 1.00 - NA
SetThreadStatic PR 3.010 ns 0.0116 ns 1.00 - NA
System.Threading.Tests.Perf_ThreadPool
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1  RatioSD=0.02  Gen0=38000.0000
Method Toolchain WorkItemsPerCore Mean Error Ratio Allocated Alloc Ratio
QueueUserWorkItem_WaitCallback_Throughput Main 20000000 2.072 s 0.0270 s 1.00 614.35 MB 1.00
QueueUserWorkItem_WaitCallback_Throughput PR 20000000 2.067 s 0.0413 s 1.00 610.35 MB 0.99
System.Threading.Tests.Perf_Thread
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-LIYULD : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-BIOQYX : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms  MaxIterationCount=20
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
CurrentThread Main 1.624 ns 0.0821 ns 1.00 - NA
CurrentThread PR 1.925 ns 0.1394 ns 1.19 - NA
GetCurrentProcessorId Main 1.910 ns 0.0023 ns 1.00 - NA
GetCurrentProcessorId PR 1.908 ns 0.0005 ns 1.00 - NA
System.Threading.Tests.Perf_SpinLock
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
EnterExit Main 2.988 ns 0.0020 ns 1.00 - NA
EnterExit PR 2.991 ns 0.0034 ns 1.00 - NA
TryEnterExit Main 2.987 ns 0.0030 ns 1.00 - NA
TryEnterExit PR 2.993 ns 0.0049 ns 1.00 - NA
TryEnter_Fail Main 1.008 ns 0.0006 ns 1.00 - NA
TryEnter_Fail PR 1.012 ns 0.0029 ns 1.00 - NA
System.Threading.Tests.Perf_SemaphoreSlim
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
ReleaseWait Main 22.59 ns 0.063 ns 1.00 - NA
ReleaseWait PR 26.95 ns 0.073 ns 1.19 - NA
ReleaseWaitAsync Main 21.71 ns 0.065 ns 1.00 - NA
ReleaseWaitAsync PR 23.09 ns 0.024 ns 1.06 - NA
ReleaseWaitAsync_WithCancellationToken Main 885.80 ns 17.162 ns 1.00 376 B 1.00
ReleaseWaitAsync_WithCancellationToken PR 841.77 ns 16.039 ns 0.95 376 B 1.00
ReleaseWaitAsync_WithTimeout Main 894.43 ns 19.792 ns 1.00 472 B 1.00
ReleaseWaitAsync_WithTimeout PR 865.09 ns 10.040 ns 0.97 472 B 1.00
ReleaseWaitAsync_WithCancellationTokenAndTimeout Main 928.95 ns 18.425 ns 1.00 472 B 1.00
ReleaseWaitAsync_WithCancellationTokenAndTimeout PR 926.33 ns 15.993 ns 1.00 472 B 1.00
System.Threading.Tests.Perf_Monitor
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
EnterExit Main 6.637 ns 0.0100 ns 1.00 - NA
EnterExit PR 6.664 ns 0.0174 ns 1.00 - NA
TryEnterExit Main 6.684 ns 0.0197 ns 1.00 - NA
TryEnterExit PR 6.830 ns 0.0209 ns 1.02 - NA
System.Threading.Tests.Perf_Lock
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
ReaderWriterLockSlimPerf Main 10.83 ns 0.025 ns 1.00 - NA
ReaderWriterLockSlimPerf PR 10.58 ns 0.033 ns 0.98 - NA
System.Threading.Tests.Perf_Interlocked
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
Increment_int Main 0.6309 ns 0.0022 ns 1.00 - NA
Increment_int PR 0.6316 ns 0.0018 ns 1.00 - NA
Decrement_int Main 0.6326 ns 0.0030 ns 1.00 - NA
Decrement_int PR 0.6318 ns 0.0013 ns 1.00 - NA
Increment_long Main 0.6371 ns 0.0012 ns 1.00 - NA
Increment_long PR 0.6361 ns 0.0011 ns 1.00 - NA
Decrement_long Main 0.6318 ns 0.0017 ns 1.00 - NA
Decrement_long PR 0.6312 ns 0.0019 ns 1.00 - NA
Add_int Main 0.6332 ns 0.0012 ns 1.00 - NA
Add_int PR 0.6337 ns 0.0019 ns 1.00 - NA
Add_long Main 0.6316 ns 0.0016 ns 1.00 - NA
Add_long PR 0.6337 ns 0.0023 ns 1.00 - NA
Exchange_int Main 0.7084 ns 0.0005 ns 1.00 - NA
Exchange_int PR 0.7069 ns 0.0011 ns 1.00 - NA
Exchange_long Main 0.7117 ns 0.0027 ns 1.00 - NA
Exchange_long PR 0.7127 ns 0.0033 ns 1.00 - NA
CompareExchange_int Main 0.9242 ns 0.0009 ns 1.00 - NA
CompareExchange_int PR 0.9242 ns 0.0006 ns 1.00 - NA
CompareExchange_long Main 0.9246 ns 0.0007 ns 1.00 - NA
CompareExchange_long PR 0.9259 ns 0.0006 ns 1.00 - NA
CompareExchange_object_Match Main 0.8082 ns 0.0159 ns 1.00 - NA
CompareExchange_object_Match PR 0.5963 ns 0.0213 ns 0.74 - NA
CompareExchange_object_NoMatch Main 0.6798 ns 0.1542 ns 1.06 - NA
CompareExchange_object_NoMatch PR 0.6951 ns 0.1080 ns 1.08 - NA
System.Threading.Tests.Perf_EventWaitHandle
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
Set_Reset Main 150.90 ns 0.419 ns 1.00 - NA
Set_Reset PR 18.53 ns 0.028 ns 0.12 - NA
System.Threading.Tests.Perf_CancellationToken
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-LIYULD : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-BIOQYX : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms  MaxIterationCount=20
MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
RegisterAndUnregister_Serial Main 21.938 ns 0.5815 ns 1.00 - NA
RegisterAndUnregister_Serial PR 22.223 ns 0.4732 ns 1.01 - NA
Cancel Main 43.773 ns 0.1376 ns 1.00 192 B 1.00
Cancel PR 43.745 ns 0.2647 ns 1.00 192 B 1.00
CreateLinkedTokenSource1 Main 25.538 ns 0.5531 ns 1.00 64 B 1.00
CreateLinkedTokenSource1 PR 26.917 ns 0.6143 ns 1.05 64 B 1.00
CreateLinkedTokenSource2 Main 43.592 ns 0.9936 ns 1.00 80 B 1.00
CreateLinkedTokenSource2 PR 43.460 ns 0.1365 ns 1.00 80 B 1.00
CreateLinkedTokenSource3 Main 68.244 ns 0.5427 ns 1.00 128 B 1.00
CreateLinkedTokenSource3 PR 73.360 ns 0.9278 ns 1.08 128 B 1.00
CreateTokenDispose Main 6.482 ns 0.1010 ns 1.00 48 B 1.00
CreateTokenDispose PR 6.064 ns 0.1107 ns 0.94 48 B 1.00
CreateRegisterDispose Main 38.460 ns 0.3876 ns 1.00 192 B 1.00
CreateRegisterDispose PR 38.213 ns 0.3140 ns 0.99 192 B 1.00
CreateManyRegisterDispose Main 13.181 ns 0.2233 ns 1.00 - NA
CreateManyRegisterDispose PR 12.777 ns 0.2279 ns 0.97 - NA
CreateManyRegisterMultipleDispose Main 94.063 ns 3.3137 ns 1.00 - NA
CreateManyRegisterMultipleDispose PR 95.822 ns 5.9894 ns 1.02 - NA
CancelAfter Main 56.551 ns 0.7401 ns 1.00 144 B 1.00
CancelAfter PR 58.721 ns 1.1196 ns 1.04 144 B 1.00
System.Threading.Tasks.Tests.Perf_AsyncMethods
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
EmptyAsyncMethodInvocation Main 5.176 ns 0.0156 ns 1.00 - NA
EmptyAsyncMethodInvocation PR 5.064 ns 0.0046 ns 0.98 - NA
SingleYieldMethodInvocation Main 427.007 ns 0.9847 ns 1.00 96 B 1.00
SingleYieldMethodInvocation PR 442.520 ns 8.5759 ns 1.04 96 B 1.00
Yield Main 229.001 ns 13.2847 ns 1.00 - NA
Yield PR 250.996 ns 11.8351 ns 1.10 - NA
System.Threading.Tasks.ValueTaskPerfTest
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-GWZVEA : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-JUROJA : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-IBSGRJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-EDFFRX : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms  MaxIterationCount=20
MaxWarmupIterationCount=10  MinIterationCount=15  MinWarmupIterationCount=2
WarmupCount=-1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
Await_FromResult Main 5.403 ns 0.0128 ns 1.00 - NA
Await_FromResult PR 5.345 ns 0.0171 ns 0.99 - NA
Await_FromCompletedTask Main 11.896 ns 0.2817 ns 1.00 72 B 1.00
Await_FromCompletedTask PR 11.020 ns 0.0829 ns 0.93 72 B 1.00
Await_FromCompletedValueTaskSource Main 17.035 ns 0.0827 ns 1.00 72 B 1.00
Await_FromCompletedValueTaskSource PR 16.764 ns 0.1131 ns 0.98 72 B 1.00
CreateAndAwait_FromResult Main 5.390 ns 0.0084 ns 1.00 - NA
CreateAndAwait_FromResult PR 5.325 ns 0.0084 ns 0.99 - NA
CreateAndAwait_FromResult_ConfigureAwait Main 5.441 ns 0.0046 ns 1.00 - NA
CreateAndAwait_FromResult_ConfigureAwait PR 5.341 ns 0.0051 ns 0.98 - NA
CreateAndAwait_FromCompletedTask Main 6.995 ns 0.0141 ns 1.00 - NA
CreateAndAwait_FromCompletedTask PR 6.972 ns 0.0153 ns 1.00 - NA
CreateAndAwait_FromCompletedTask_ConfigureAwait Main 7.013 ns 0.0122 ns 1.00 - NA
CreateAndAwait_FromCompletedTask_ConfigureAwait PR 7.014 ns 0.0142 ns 1.00 - NA
CreateAndAwait_FromCompletedValueTaskSource Main 8.360 ns 0.0079 ns 1.00 - NA
CreateAndAwait_FromCompletedValueTaskSource PR 8.461 ns 0.0142 ns 1.01 - NA
CreateAndAwait_FromYieldingAsyncMethod Main 686.236 ns 2.6644 ns 1.00 205 B 1.00
CreateAndAwait_FromYieldingAsyncMethod PR 701.221 ns 5.4459 ns 1.02 204 B 1.00
CreateAndAwait_FromDelayedTCS Main 88.674 ns 0.5013 ns 1.00 216 B 1.00
CreateAndAwait_FromDelayedTCS PR 85.375 ns 0.4450 ns 0.96 216 B 1.00
Copy_PassAsArgumentAndReturn_FromResult Main 1.771 ns 0.0023 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromResult PR 1.774 ns 0.0034 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromTask Main 2.621 ns 0.0113 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromTask PR 2.617 ns 0.0040 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromValueTaskSource Main 3.816 ns 0.0050 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromValueTaskSource PR 3.807 ns 0.0064 ns 1.00 - NA
CreateAndAwait_FromCompletedValueTaskSource_ConfigureAwait Main 8.407 ns 0.0109 ns 1.00 - NA
CreateAndAwait_FromCompletedValueTaskSource_ConfigureAwait PR 8.339 ns 0.0581 ns 0.99 - NA
System.Threading.Channels.Tests.UnboundedChannelPerfTests
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
TryWriteThenTryRead Main 20.20 ns 0.032 ns 1.00 - NA
TryWriteThenTryRead PR 20.37 ns 0.040 ns 1.01 - NA
WriteAsyncThenReadAsync Main 24.98 ns 0.080 ns 1.00 - NA
WriteAsyncThenReadAsync PR 25.16 ns 0.041 ns 1.01 - NA
ReadAsyncThenWriteAsync Main 44.69 ns 0.110 ns 1.00 - NA
ReadAsyncThenWriteAsync PR 45.06 ns 0.031 ns 1.01 - NA
PingPong Main 10,937,232.08 ns 341,728.096 ns 1.00 1124 B 1.00
PingPong PR 10,928,424.51 ns 210,097.492 ns 1.00 1111 B 0.99
System.Threading.Channels.Tests.SpscUnboundedChannelPerfTests
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
TryWriteThenTryRead Main 21.20 ns 0.027 ns 1.00 - NA
TryWriteThenTryRead PR 20.68 ns 0.049 ns 0.98 - NA
WriteAsyncThenReadAsync Main 33.72 ns 0.030 ns 1.00 - NA
WriteAsyncThenReadAsync PR 31.13 ns 0.204 ns 0.92 - NA
ReadAsyncThenWriteAsync Main 41.79 ns 0.066 ns 1.00 - NA
ReadAsyncThenWriteAsync PR 41.96 ns 0.231 ns 1.00 - NA
PingPong Main 10,424,822.56 ns 310,016.007 ns 1.00 1131 B 1.00
PingPong PR 10,890,043.09 ns 498,719.080 ns 1.05 1199 B 1.06
System.Threading.Channels.Tests.BoundedChannelPerfTests
BenchmarkDotNet v0.14.1-nightly.20250107.205, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74, 1 CPU, 8 logical and 4 physical cores
  Job-IXTPWL : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-XGVMLJ : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
OutlierMode=Default  PowerPlanMode=00000000-0000-0000-0000-000000000000  IterationTime=250ms
MaxIterationCount=20  MemoryRandomization=Default  MinIterationCount=15
WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
TryWriteThenTryRead Main 29.56 ns 0.301 ns 1.00 - NA
TryWriteThenTryRead PR 29.31 ns 0.079 ns 0.99 - NA
WriteAsyncThenReadAsync Main 35.78 ns 0.085 ns 1.00 - NA
WriteAsyncThenReadAsync PR 35.67 ns 0.395 ns 1.00 - NA
ReadAsyncThenWriteAsync Main 40.58 ns 0.101 ns 1.00 - NA
ReadAsyncThenWriteAsync PR 40.19 ns 0.061 ns 0.99 - NA
PingPong Main 10,719,802.47 ns 336,447.929 ns 1.00 1108 B 1.00
PingPong PR 10,755,276.44 ns 90,025.478 ns 1.00 1108 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