Skip to content

[Benchmark ARM64] [VSadov] Move thin lock acquire/release in CoreCLR to mana ... #2011

Description

@MihuBot

Job completed in 52 minutes 53 seconds (remote runner delay: 1 minute 16 seconds).
dotnet/runtime#129502
Using arguments: benchmark System.Threading -arm
Main commit: dotnet/runtime@64a41cc
PR commit: VSadov/runtime@128ca99

System.Threading.Tests.Perf_Volatile
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-NRQIIJ : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-NGSIDY : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
EvaluateOverhead=False  PowerPlanMode=  IterationTime=250ms
MaxIterationCount=20  MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
Write_double Main 2.132 ns 0.0124 ns 1.00 - NA
Write_double PR 2.135 ns 0.0123 ns 1.00 - NA
Read_double Main 3.298 ns 0.0239 ns 1.00 - NA
Read_double PR 3.284 ns 0.0055 ns 1.00 - NA
System.Threading.Tests.Perf_Timer
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-NRQIIJ : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-NGSIDY : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
EvaluateOverhead=False  PowerPlanMode=  IterationTime=250ms
MaxIterationCount=20  MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
ShortScheduleAndDispose Main 130.0 ns 1.52 ns 1.00 120 B 1.00
ShortScheduleAndDispose PR 130.3 ns 1.61 ns 1.00 120 B 1.00
LongScheduleAndDispose Main 129.9 ns 1.26 ns 1.00 120 B 1.00
LongScheduleAndDispose PR 131.0 ns 1.04 ns 1.01 120 B 1.00
ScheduleManyThenDisposeMany Main 244,645,956.9 ns 2,605,208.19 ns 1.00 144000000 B 1.00
ScheduleManyThenDisposeMany PR 249,305,648.6 ns 3,958,714.20 ns 1.02 144000000 B 1.00
ShortScheduleAndDisposeWithFiringTimers Main 152.3 ns 4.49 ns 1.00 144 B 1.00
ShortScheduleAndDisposeWithFiringTimers PR 149.8 ns 3.75 ns 0.98 144 B 1.00
SynchronousContention Main 5,404,397,834.9 ns 34,069,649.97 ns 1.00 1152000760 B 1.00
SynchronousContention PR 5,571,240,872.0 ns 33,764,941.19 ns 1.03 1152000760 B 1.00
AsynchronousContention Main 4,851,066,960.9 ns 92,741,774.32 ns 1.00 1344002232 B 1.00
AsynchronousContention PR 4,873,755,580.8 ns 40,387,695.59 ns 1.00 1344002232 B 1.00
System.Threading.Tests.Perf_ThreadStatic
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
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.509 ns 0.0003 ns 1.00 - NA
GetThreadStatic PR 1.507 ns 0.0004 ns 1.00 - NA
SetThreadStatic Main 2.515 ns 0.0023 ns 1.00 - NA
SetThreadStatic PR 2.503 ns 0.0034 ns 1.00 - NA
System.Threading.Tests.Perf_ThreadPool
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1  Gen0=9000.0000
Method Toolchain WorkItemsPerCore Mean Error Ratio Allocated Alloc Ratio
QueueUserWorkItem_WaitCallback_Throughput Main 20000000 9.043 s 0.0811 s 1.00 610.35 MB 1.00
QueueUserWorkItem_WaitCallback_Throughput PR 20000000 9.258 s 0.1603 s 1.02 610.35 MB 1.00
System.Threading.Tests.Perf_Thread
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-NRQIIJ : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-NGSIDY : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
EvaluateOverhead=False  PowerPlanMode=  IterationTime=250ms
MaxIterationCount=20  MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
CurrentThread Main 1.503 ns 0.0002 ns 1.00 - NA
CurrentThread PR 1.502 ns 0.0003 ns 1.00 - NA
GetCurrentProcessorId Main 2.889 ns 0.0135 ns 1.00 - NA
GetCurrentProcessorId PR 2.867 ns 0.0098 ns 0.99 - NA
System.Threading.Tests.Perf_SpinLock
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
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 14.179 ns 0.0047 ns 1.00 - NA
EnterExit PR 15.610 ns 0.0049 ns 1.10 - NA
TryEnterExit Main 15.625 ns 0.0044 ns 1.00 - NA
TryEnterExit PR 14.189 ns 0.0073 ns 0.91 - NA
TryEnter_Fail Main 1.769 ns 0.0004 ns 1.00 - NA
TryEnter_Fail PR 1.770 ns 0.0003 ns 1.00 - NA
System.Threading.Tests.Perf_SemaphoreSlim
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
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 42.44 ns 0.016 ns 1.00 - NA
ReleaseWait PR 41.75 ns 0.340 ns 0.98 - NA
ReleaseWaitAsync Main 36.57 ns 0.862 ns 1.00 - NA
ReleaseWaitAsync PR 35.66 ns 0.697 ns 0.98 - NA
ReleaseWaitAsync_WithCancellationToken Main 21,264.63 ns 1,525.520 ns 1.00 583 B 1.00
ReleaseWaitAsync_WithCancellationToken PR 22,065.87 ns 640.506 ns 1.05 583 B 1.00
ReleaseWaitAsync_WithTimeout Main 21,788.43 ns 821.668 ns 1.00 679 B 1.00
ReleaseWaitAsync_WithTimeout PR 22,014.71 ns 729.106 ns 1.01 679 B 1.00
ReleaseWaitAsync_WithCancellationTokenAndTimeout Main 19,469.35 ns 1,524.439 ns 1.00 672 B 1.00
ReleaseWaitAsync_WithCancellationTokenAndTimeout PR 21,466.58 ns 853.651 ns 1.11 678 B 1.01
System.Threading.Tests.Perf_Monitor
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
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 15.04 ns 0.038 ns 1.00 - NA
EnterExit PR 16.67 ns 0.007 ns 1.11 - NA
TryEnterExit Main 17.25 ns 0.056 ns 1.00 - NA
TryEnterExit PR 16.78 ns 0.025 ns 0.97 - NA
System.Threading.Tests.Perf_Lock
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
EvaluateOverhead=False  OutlierMode=Default  PowerPlanMode=
IterationTime=250ms  MaxIterationCount=20  MemoryRandomization=Default
MinIterationCount=15  WarmupCount=1  StdDev=0.004 ns
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
ReaderWriterLockSlimPerf Main 19.50 ns 0.004 ns 1.00 - NA
ReaderWriterLockSlimPerf PR 19.28 ns 0.004 ns 0.99 - NA
System.Threading.Tests.Perf_Interlocked
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
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 5.889 ns 0.0012 ns 1.00 - NA
Increment_int PR 5.884 ns 0.0012 ns 1.00 - NA
Decrement_int Main 5.885 ns 0.0011 ns 1.00 - NA
Decrement_int PR 5.903 ns 0.0016 ns 1.00 - NA
Increment_long Main 5.875 ns 0.0010 ns 1.00 - NA
Increment_long PR 5.876 ns 0.0022 ns 1.00 - NA
Decrement_long Main 5.875 ns 0.0011 ns 1.00 - NA
Decrement_long PR 5.874 ns 0.0015 ns 1.00 - NA
Add_int Main 5.884 ns 0.0013 ns 1.00 - NA
Add_int PR 5.885 ns 0.0017 ns 1.00 - NA
Add_long Main 5.876 ns 0.0011 ns 1.00 - NA
Add_long PR 5.875 ns 0.0009 ns 1.00 - NA
Exchange_int Main 5.829 ns 0.0013 ns 1.00 - NA
Exchange_int PR 5.868 ns 0.0014 ns 1.01 - NA
Exchange_long Main 5.836 ns 0.0019 ns 1.00 - NA
Exchange_long PR 5.835 ns 0.0010 ns 1.00 - NA
CompareExchange_int Main 5.922 ns 0.0010 ns 1.00 - NA
CompareExchange_int PR 5.926 ns 0.0013 ns 1.00 - NA
CompareExchange_long Main 5.927 ns 0.0009 ns 1.00 - NA
CompareExchange_long PR 5.921 ns 0.0008 ns 1.00 - NA
CompareExchange_object_Match Main 8.777 ns 0.0070 ns 1.00 - NA
CompareExchange_object_Match PR 8.757 ns 0.0024 ns 1.00 - NA
CompareExchange_object_NoMatch Main 7.916 ns 0.0058 ns 1.00 - NA
CompareExchange_object_NoMatch PR 8.846 ns 0.0018 ns 1.12 - NA
System.Threading.Tests.Perf_EventWaitHandle
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
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 60.64 ns 0.027 ns 1.00 - NA
Set_Reset PR 61.39 ns 0.036 ns 1.01 - NA
System.Threading.Tests.Perf_CancellationToken
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-NRQIIJ : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-NGSIDY : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
EvaluateOverhead=False  PowerPlanMode=  IterationTime=250ms
MaxIterationCount=20  MinIterationCount=15  WarmupCount=1
Method Toolchain Mean Error Ratio Allocated Alloc Ratio
RegisterAndUnregister_Serial Main 23.597 ns 0.0082 ns 1.00 - NA
RegisterAndUnregister_Serial PR 23.387 ns 0.0083 ns 0.99 - NA
Cancel Main 82.476 ns 0.4866 ns 1.00 192 B 1.00
Cancel PR 83.192 ns 0.4460 ns 1.01 192 B 1.00
CreateLinkedTokenSource1 Main 31.213 ns 0.6452 ns 1.00 64 B 1.00
CreateLinkedTokenSource1 PR 29.633 ns 0.1386 ns 0.95 64 B 1.00
CreateLinkedTokenSource2 Main 49.607 ns 0.0680 ns 1.00 80 B 1.00
CreateLinkedTokenSource2 PR 50.340 ns 0.2822 ns 1.01 80 B 1.00
CreateLinkedTokenSource3 Main 89.048 ns 0.2250 ns 1.00 128 B 1.00
CreateLinkedTokenSource3 PR 90.959 ns 0.3102 ns 1.02 128 B 1.00
CreateTokenDispose Main 6.723 ns 0.0733 ns 1.00 48 B 1.00
CreateTokenDispose PR 7.064 ns 0.1054 ns 1.05 48 B 1.00
CreateRegisterDispose Main 53.404 ns 0.8601 ns 1.00 192 B 1.00
CreateRegisterDispose PR 53.420 ns 0.3030 ns 1.00 192 B 1.00
CreateManyRegisterDispose Main 23.430 ns 0.0164 ns 1.00 - NA
CreateManyRegisterDispose PR 23.416 ns 0.0249 ns 1.00 - NA
CreateManyRegisterMultipleDispose Main 127.455 ns 0.2441 ns 1.00 - NA
CreateManyRegisterMultipleDispose PR 125.995 ns 0.2425 ns 0.99 - NA
CancelAfter Main 93.419 ns 0.9790 ns 1.00 144 B 1.00
CancelAfter PR 93.466 ns 1.0823 ns 1.00 144 B 1.00
System.Threading.Tasks.Tests.Perf_AsyncMethods
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
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 5.542 ns 0.0074 ns 1.00 - NA
EmptyAsyncMethodInvocation PR 5.542 ns 0.0395 ns 1.00 - NA
SingleYieldMethodInvocation Main 181.643 ns 0.8766 ns 1.00 168 B 1.00
SingleYieldMethodInvocation PR 172.875 ns 0.2976 ns 0.95 168 B 1.00
Yield Main 79.109 ns 0.0667 ns 1.00 24 B 1.00
Yield PR 76.516 ns 0.0672 ns 0.97 24 B 1.00
System.Threading.Tasks.ValueTaskPerfTest
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-UXTJFQ : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-WCARJH : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-XVCCJK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HMQJNI : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
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 7.583 ns 0.0985 ns 1.00 - NA
Await_FromResult PR 7.528 ns 0.0245 ns 0.99 - NA
Await_FromCompletedTask Main 13.598 ns 0.1548 ns 1.00 72 B 1.00
Await_FromCompletedTask PR 14.026 ns 0.1929 ns 1.03 72 B 1.00
Await_FromCompletedValueTaskSource Main 25.403 ns 0.4806 ns 1.00 72 B 1.00
Await_FromCompletedValueTaskSource PR 26.530 ns 0.8105 ns 1.04 72 B 1.00
CreateAndAwait_FromResult Main 7.554 ns 0.0129 ns 1.00 - NA
CreateAndAwait_FromResult PR 7.566 ns 0.0097 ns 1.00 - NA
CreateAndAwait_FromResult_ConfigureAwait Main 9.240 ns 0.1781 ns 1.00 - NA
CreateAndAwait_FromResult_ConfigureAwait PR 7.495 ns 0.0418 ns 0.81 - NA
CreateAndAwait_FromCompletedTask Main 9.429 ns 0.0373 ns 1.00 - NA
CreateAndAwait_FromCompletedTask PR 9.535 ns 0.0658 ns 1.01 - NA
CreateAndAwait_FromCompletedTask_ConfigureAwait Main 9.361 ns 0.0832 ns 1.00 - NA
CreateAndAwait_FromCompletedTask_ConfigureAwait PR 9.312 ns 0.0225 ns 0.99 - NA
CreateAndAwait_FromCompletedValueTaskSource Main 10.362 ns 0.0258 ns 1.00 - NA
CreateAndAwait_FromCompletedValueTaskSource PR 10.630 ns 0.0887 ns 1.03 - NA
CreateAndAwait_FromYieldingAsyncMethod Main 290.620 ns 0.8332 ns 1.00 392 B 1.00
CreateAndAwait_FromYieldingAsyncMethod PR 293.741 ns 1.1317 ns 1.01 392 B 1.00
CreateAndAwait_FromDelayedTCS Main 21,915.089 ns 464.6644 ns 1.00 519 B 1.00
CreateAndAwait_FromDelayedTCS PR 21,953.612 ns 480.2800 ns 1.00 518 B 1.00
Copy_PassAsArgumentAndReturn_FromResult Main 4.835 ns 0.0076 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromResult PR 4.843 ns 0.0007 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromTask Main 8.296 ns 0.0055 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromTask PR 8.311 ns 0.0122 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromValueTaskSource Main 13.139 ns 0.0048 ns 1.00 - NA
Copy_PassAsArgumentAndReturn_FromValueTaskSource PR 13.156 ns 0.1064 ns 1.00 - NA
CreateAndAwait_FromCompletedValueTaskSource_ConfigureAwait Main 10.558 ns 0.1272 ns 1.00 - NA
CreateAndAwait_FromCompletedValueTaskSource_ConfigureAwait PR 10.565 ns 0.1278 ns 1.00 - NA
System.Threading.Channels.Tests.UnboundedChannelPerfTests
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
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 37.79 ns 0.007 ns 1.00 - NA
TryWriteThenTryRead PR 40.39 ns 0.028 ns 1.07 - NA
WriteAsyncThenReadAsync Main 50.86 ns 0.067 ns 1.00 - NA
WriteAsyncThenReadAsync PR 45.99 ns 0.079 ns 0.90 - NA
ReadAsyncThenWriteAsync Main 77.99 ns 0.490 ns 1.00 - NA
ReadAsyncThenWriteAsync PR 75.48 ns 0.334 ns 0.97 - NA
PingPong Main 5,514,871.03 ns 106,290.832 ns 1.00 1087 B 1.00
PingPong PR 5,255,181.47 ns 73,386.517 ns 0.95 1087 B 1.00
System.Threading.Channels.Tests.SpscUnboundedChannelPerfTests
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
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.80 ns 0.032 ns 1.00 - NA
TryWriteThenTryRead PR 27.20 ns 0.012 ns 0.88 - NA
WriteAsyncThenReadAsync Main 43.33 ns 0.598 ns 1.00 - NA
WriteAsyncThenReadAsync PR 38.68 ns 0.122 ns 0.89 - NA
ReadAsyncThenWriteAsync Main 74.22 ns 0.290 ns 1.00 - NA
ReadAsyncThenWriteAsync PR 73.65 ns 1.433 ns 0.99 - NA
PingPong Main 5,692,114.84 ns 79,885.611 ns 1.00 1087 B 1.00
PingPong PR 5,464,477.26 ns 116,552.029 ns 0.96 1087 B 1.00
System.Threading.Channels.Tests.BoundedChannelPerfTests
BenchmarkDotNet v0.16.0-nightly.20260518.1249, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
Neoverse-N2, 8 physical cores
Memory: 31.27 GB Total, 1.96 GB Available
  Job-TPEJOW : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
  Job-HKHXHK : .NET 11.0.0 (11.0.0-dev, 42.42.42.42424), Arm64 RyuJIT armv8.0-a
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 52.18 ns 0.061 ns 1.00 - NA
TryWriteThenTryRead PR 48.51 ns 0.693 ns 0.93 - NA
WriteAsyncThenReadAsync Main 60.95 ns 0.328 ns 1.00 - NA
WriteAsyncThenReadAsync PR 60.13 ns 0.562 ns 0.99 - NA
ReadAsyncThenWriteAsync Main 73.42 ns 0.340 ns 1.00 - NA
ReadAsyncThenWriteAsync PR 70.95 ns 0.137 ns 0.97 - NA
PingPong Main 5,425,824.17 ns 102,591.823 ns 1.00 1091 B 1.00
PingPong PR 5,359,848.63 ns 105,279.337 ns 0.99 1087 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