Table of Contents

Benchmark Regression Report

Date: 2026-07-19T19:18:50Z Commit: e2374c4 (feature/514-source-generated-registry) Environment: Intel Xeon Platinum 8151 CPU 3.40GHz | Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish) | .NET 10.0.10

Summary

Status Count
Regression 1
Improvement 5
Stable 65
Noisy (filtered) 20
Insufficient Data 0

Regressions

Warning

1 benchmark(s) show performance regression

Benchmark Current Previous Change Threshold
FindNextUnsetBenchmarks.FindNextUnset_Sparse25 6.67 ns 5.97 ns +11.7% 10%

FindNextUnsetBenchmarks.FindNextUnset_Sparse25

Improvements

Benchmark Current Previous Change
ChunkAccessorBenchmarks.MRU_Hit 2.58 ns 3.08 ns -16.3%
PagedMMFBenchmarks.CacheMiss 10.92 ns 13.67 ns -20.1%
AccessControlSmallBenchmarks.Promotion_SharedToExclusive 36.36 ns 45.54 ns -20.1%
AccessControlSmallBenchmarks.ExclusiveLock_Uncontended 18.51 ns 24.51 ns -24.5%
EcsQueryBenchmarks.Query_Any 956.95 ns 1.94 us -50.8%
Stable Benchmarks (65)
Benchmark Current Previous Change
AccessControlBenchmarks.Promotion_SharedToExclusive (ThreadCount=8) 44.34 ns 43.73 ns +1.4%
AccessControlBenchmarks.SharedLock_Contended (ThreadCount=2) 841.00 ns 940.00 ns -10.5%
BTreeMicroBenchmarks.Delete_Reinsert 914.66 ns 911.35 ns +0.4%
BTreeMicroBenchmarks.Insert_Random 477.65 ns 475.95 ns +0.4%
BTreeMicroBenchmarks.Lookup_Hit 345.01 ns 350.38 ns -1.5%
BTreeMicroBenchmarks.Lookup_Miss 347.11 ns 340.31 ns +2.0%
BTreeMicroBenchmarks.SequentialScan_100 259.03 ns 261.27 ns -0.9%
CascadeDeleteBenchmarks.CascadeDeleteAll (ParentCount=10&ChildrenPerParent=10) 2.35 us 2.38 us -1.2%
CascadeDeleteBenchmarks.CascadeDeleteAll (ParentCount=10&ChildrenPerParent=100) 2.32 us 2.40 us -3.4%
CascadeDeleteBenchmarks.CascadeDeleteAll (ParentCount=100&ChildrenPerParent=10) 15.59 us 14.67 us +6.3%
CascadeDeleteBenchmarks.CascadeDeleteAll (ParentCount=100&ChildrenPerParent=100) 14.50 us 15.16 us -4.4%
ChunkAccessorBenchmarks.CommitChanges_AllDirty 196.73 ns 186.08 ns +5.7%
ChunkAccessorBenchmarks.Dispose_16Slots 172.17 ns 165.85 ns +3.8%
ClusterRegressionBenchmarks.ClusterIteration_MixedSvVersioned 18.21 us 18.53 us -1.7%
ClusterRegressionBenchmarks.ClusterIteration_SV 15.57 us 15.89 us -2.0%
ClusterRegressionBenchmarks.ClusterRandomAccess_Mixed 25.99 us 26.47 us -1.8%
ClusterRegressionBenchmarks.IndexedQuery_1Percent 12.13 us 11.79 us +2.9%
ClusterRegressionBenchmarks.OrderedQuery_Take100 17.82 us 17.65 us +1.0%
ClusterRegressionBenchmarks.VersionedWriteCommit 143.76 us 147.21 us -2.3%
ComponentTableBenchmarks.CreateEntity_SingleComponent 6.14 us 6.57 us -6.5%
ComponentTableBenchmarks.ReadComponent_ById 1.53 us 1.62 us -5.7%
ComponentTableBenchmarks.UpdateComponent_SingleField 4.23 us 4.21 us +0.4%
EcsQueryBenchmarks.EnableDisable_1000 353.59 us 342.25 us +3.3%
EcsQueryBenchmarks.Enabled_Query_Count 259.76 us 258.57 us +0.5%
EcsQueryBenchmarks.ExactQuery_Count 116.46 us 123.21 us -5.5%
EcsQueryBenchmarks.PolymorphicQuery_Count 237.11 us 251.43 us -5.7%
EcsQueryBenchmarks.WhereField_Count 710.83 us 688.90 us +3.2%
EpochGuardBenchmarks.MinActiveEpoch_WhilePinned 17.95 ns 17.01 ns +5.6%
EpochGuardBenchmarks.NestedThreeLevels 18.93 ns 18.36 ns +3.1%
IndexLookupBenchmarks.DeleteEntity_SingleComponent 9.82 us 9.89 us -0.7%
IndexLookupBenchmarks.PrimaryKey_BatchRandom 40.59 us 40.54 us +0.1%
IndexLookupBenchmarks.PrimaryKey_BatchSequential 33.66 us 33.70 us -0.1%
IndexLookupBenchmarks.PrimaryKey_PointLookup 1.50 us 1.63 us -7.8%
PagedMMFBenchmarks.CacheHit 10.65 ns 11.78 ns -9.6%
PagedMMFBenchmarks.PageAllocation 1.53 us 1.52 us +0.6%
RevisionBenchmarks.Read_10Versions 1.50 us 1.62 us -7.4%
RevisionBenchmarks.Read_50Versions 1.53 us 1.64 us -6.8%
RevisionBenchmarks.Read_SingleVersion 1.53 us 1.60 us -4.1%
SpawnBatchBenchmarks.SingleSpawnLoop (EntityCount=100) 51.07 us 50.59 us +1.0%
SpawnBatchBenchmarks.SingleSpawnLoop (EntityCount=1000) 530.11 us 529.67 us +0.1%
SpawnBatchBenchmarks.SpawnBatch_SOA (EntityCount=100) 37.90 us 37.41 us +1.3%
SpawnBatchBenchmarks.SpawnBatch_SOA (EntityCount=1000) 394.39 us 382.60 us +3.1%
SpawnBatchBenchmarks.SpawnBatch_SharedValues (EntityCount=100) 42.31 us 43.31 us -2.3%
SpawnBatchBenchmarks.SpawnBatch_SharedValues (EntityCount=1000) 433.67 us 435.91 us -0.5%
StrictModeOffPathBenchmarks.EmptyMethod (LoopCount=1024) 416.04 ns 459.32 ns -9.4%
StrictModeOffPathBenchmarks.Require_ConditionFalse_OffPath (LoopCount=1024) 9.82 us 9.77 us +0.5%
StrictModeOffPathBenchmarks.Require_ConditionTrue_OffPath (LoopCount=1024) 9.77 us 9.82 us -0.5%
String64Benchmarks.Compare_Equal 4.20 ns 4.78 ns -12.0%
String64Benchmarks.Construct_FromString 18.02 ns 19.29 ns -6.6%
String64Benchmarks.HashCode 16.23 ns 15.43 ns +5.2%
TransactionBenchmarks.Transaction_BulkRead (EntityCount=100) 30.98 us 30.61 us +1.2%
TransactionBenchmarks.Transaction_BulkRead (EntityCount=1000) 314.93 us 330.35 us -4.7%
TransactionBenchmarks.Transaction_BulkUpdate (EntityCount=100) 113.16 us 119.89 us -5.6%
TransactionBenchmarks.Transaction_BulkUpdate (EntityCount=1000) 1.24 ms 1.22 ms +1.7%
TransactionBenchmarks.Transaction_CreateReadCommit (EntityCount=100) 6.22 us 6.63 us -6.2%
TransactionBenchmarks.Transaction_CreateReadCommit (EntityCount=1000) 6.51 us 6.43 us +1.3%
TyphonEventOffPathBenchmarks.BeginBTreeInsert_OffPath (LoopCount=1024) 2.57 us 2.57 us +0.1%
TyphonEventOffPathBenchmarks.BeginCheckpointCycle_OffPath (LoopCount=1024) 4.65 us 4.63 us +0.4%
TyphonEventOffPathBenchmarks.BeginEcsSpawn_WithOptional_OffPath (LoopCount=1024) 5.14 us 5.14 us +0.0%
TyphonEventOffPathBenchmarks.EmptyMethod (LoopCount=1024) 425.90 ns 463.74 ns -8.2%
WorkloadBenchmarks.CrudLifecycle 9.33 us 8.93 us +4.4%
WorkloadBenchmarks.MultiComponent_Crud 9.11 us 9.26 us -1.6%
WorkloadBenchmarks.ReadHeavy_90_10 56.18 us 56.15 us +0.1%
WorkloadBenchmarks.WriteHeavy_Batch 515.80 us 481.46 us +7.1%
WorkloadBenchmarks.WriteHeavy_SvIndexed_Batch 685.17 us 644.86 us +6.3%
Noisy Benchmarks (20) — filtered from regression detection
Benchmark Current Previous Change Reason
AccessControlBenchmarks.SharedLock_Contended (ThreadCount=8) 5.04 us 2.00 us +151.9% high variance (CoV 36%)
AccessControlBenchmarks.SharedLock_Contended (ThreadCount=4) 2.64 us 1.86 us +42.2% high variance (CoV 38%)
ChunkAccessorBenchmarks.SIMD_Hit_4Chunks 3.85 ns 3.46 ns +11.4% abs delta 0.39ns < 0.5ns threshold
EpochGuardBenchmarks.MinActiveEpoch 1.18 ns 1.12 ns +5.4% abs delta 0.06ns < 0.5ns threshold
AccessControlSmallBenchmarks.SharedLock_Uncontended 17.30 ns 17.00 ns +1.8% abs delta 0.30ns < 0.5ns threshold
ChunkAccessorBenchmarks.Eviction_17Chunks 5.69 ns 5.61 ns +1.4% abs delta 0.08ns < 0.5ns threshold
AccessControlBenchmarks.ExclusiveLock_Uncontended (ThreadCount=8) 21.69 ns 21.50 ns +0.9% abs delta 0.19ns < 0.5ns threshold
AccessControlBenchmarks.Promotion_SharedToExclusive (ThreadCount=4) 44.30 ns 44.69 ns -0.9% abs delta 0.39ns < 0.5ns threshold
AccessControlBenchmarks.SharedLock_Uncontended (ThreadCount=2) 18.87 ns 18.95 ns -0.4% abs delta 0.08ns < 0.5ns threshold
EpochGuardBenchmarks.EnterExit 10.28 ns 10.32 ns -0.4% abs delta 0.04ns < 0.5ns threshold
FindNextUnsetBenchmarks.FindNextUnset_Dense 6.01 ns 5.99 ns +0.4% abs delta 0.02ns < 0.5ns threshold
FindNextUnsetBenchmarks.FindNextUnset_AlmostFull 5.99 ns 6.01 ns -0.3% abs delta 0.02ns < 0.5ns threshold
AccessControlBenchmarks.ExclusiveLock_Uncontended (ThreadCount=2) 21.64 ns 21.69 ns -0.2% abs delta 0.05ns < 0.5ns threshold
AccessControlBenchmarks.SharedLock_Uncontended (ThreadCount=8) 18.73 ns 18.77 ns -0.2% abs delta 0.04ns < 0.5ns threshold
AccessControlBenchmarks.SharedLock_Uncontended (ThreadCount=4) 18.73 ns 18.77 ns -0.2% abs delta 0.04ns < 0.5ns threshold
AccessControlBenchmarks.Promotion_SharedToExclusive (ThreadCount=2) 44.16 ns 44.12 ns +0.1% abs delta 0.04ns < 0.5ns threshold
BTreeMicroBenchmarks.Insert_Sequential 393.07 ns 392.87 ns +0.1% abs delta 0.20ns < 0.5ns threshold
String64Benchmarks.Compare_Order 4.12 ns 4.11 ns +0.0% abs delta 0.00ns < 0.5ns threshold
AccessControlBenchmarks.ExclusiveLock_Uncontended (ThreadCount=4) 21.81 ns 21.80 ns +0.0% abs delta 0.00ns < 0.5ns threshold
TyphonEventOffPathBenchmarks.BeginEcsSpawn_OffPath (LoopCount=1024) 3.86 us 3.86 us +0.0% abs delta 0.35ns < 0.5ns threshold
Insufficient Data (0)

No benchmarks with insufficient data.

Trend Charts

Category: EndToEnd

TransactionBenchmarks.Transaction_BulkRead (EntityCount=100)

TransactionBenchmarks.Transaction_BulkRead (EntityCount=1000)

TransactionBenchmarks.Transaction_BulkUpdate (EntityCount=100)

TransactionBenchmarks.Transaction_BulkUpdate (EntityCount=1000)

TransactionBenchmarks.Transaction_CreateReadCommit (EntityCount=100)

TransactionBenchmarks.Transaction_CreateReadCommit (EntityCount=1000)

Category: Workload

WorkloadBenchmarks.CrudLifecycle

WorkloadBenchmarks.MultiComponent_Crud

WorkloadBenchmarks.ReadHeavy_90_10

WorkloadBenchmarks.WriteHeavy_Batch

WorkloadBenchmarks.WriteHeavy_SvIndexed_Batch

Category: ECS

CascadeDeleteBenchmarks.CascadeDeleteAll (ParentCount=10&ChildrenPerParent=10)

CascadeDeleteBenchmarks.CascadeDeleteAll (ParentCount=10&ChildrenPerParent=100)

CascadeDeleteBenchmarks.CascadeDeleteAll (ParentCount=100&ChildrenPerParent=10)

CascadeDeleteBenchmarks.CascadeDeleteAll (ParentCount=100&ChildrenPerParent=100)

EcsQueryBenchmarks.EnableDisable_1000

EcsQueryBenchmarks.Enabled_Query_Count

EcsQueryBenchmarks.ExactQuery_Count

EcsQueryBenchmarks.PolymorphicQuery_Count

EcsQueryBenchmarks.Query_Any

EcsQueryBenchmarks.WhereField_Count

SpawnBatchBenchmarks.SingleSpawnLoop (EntityCount=100)

SpawnBatchBenchmarks.SingleSpawnLoop (EntityCount=1000)

SpawnBatchBenchmarks.SpawnBatch_SOA (EntityCount=100)

SpawnBatchBenchmarks.SpawnBatch_SOA (EntityCount=1000)

SpawnBatchBenchmarks.SpawnBatch_SharedValues (EntityCount=100)

SpawnBatchBenchmarks.SpawnBatch_SharedValues (EntityCount=1000)

Category: Data

ComponentTableBenchmarks.CreateEntity_SingleComponent

ComponentTableBenchmarks.ReadComponent_ById

ComponentTableBenchmarks.UpdateComponent_SingleField

Category: MVCC

RevisionBenchmarks.Read_10Versions

RevisionBenchmarks.Read_50Versions

RevisionBenchmarks.Read_SingleVersion

Category: Epoch

EpochGuardBenchmarks.EnterExit

EpochGuardBenchmarks.MinActiveEpoch

EpochGuardBenchmarks.MinActiveEpoch_WhilePinned

EpochGuardBenchmarks.NestedThreeLevels

Category: BTree

BTreeMicroBenchmarks.Delete_Reinsert

BTreeMicroBenchmarks.Insert_Random

BTreeMicroBenchmarks.Insert_Sequential

BTreeMicroBenchmarks.Lookup_Hit

BTreeMicroBenchmarks.Lookup_Miss

BTreeMicroBenchmarks.SequentialScan_100

Category: Index

IndexLookupBenchmarks.DeleteEntity_SingleComponent

IndexLookupBenchmarks.PrimaryKey_BatchRandom

IndexLookupBenchmarks.PrimaryKey_BatchSequential

IndexLookupBenchmarks.PrimaryKey_PointLookup

Category: Storage

PagedMMFBenchmarks.CacheHit

PagedMMFBenchmarks.CacheMiss

PagedMMFBenchmarks.PageAllocation

Category: ChunkAccessor

ChunkAccessorBenchmarks.CommitChanges_AllDirty

ChunkAccessorBenchmarks.Dispose_16Slots

ChunkAccessorBenchmarks.Eviction_17Chunks

ChunkAccessorBenchmarks.MRU_Hit

ChunkAccessorBenchmarks.SIMD_Hit_4Chunks

Category: Collections

FindNextUnsetBenchmarks.FindNextUnset_AlmostFull

FindNextUnsetBenchmarks.FindNextUnset_Dense

FindNextUnsetBenchmarks.FindNextUnset_Sparse25

Category: Primitives

String64Benchmarks.Compare_Equal

String64Benchmarks.Compare_Order

String64Benchmarks.Construct_FromString

String64Benchmarks.HashCode

Category: Concurrency

AccessControlBenchmarks.ExclusiveLock_Uncontended (ThreadCount=2)

AccessControlBenchmarks.ExclusiveLock_Uncontended (ThreadCount=4)

AccessControlBenchmarks.ExclusiveLock_Uncontended (ThreadCount=8)

AccessControlBenchmarks.Promotion_SharedToExclusive (ThreadCount=2)

AccessControlBenchmarks.Promotion_SharedToExclusive (ThreadCount=4)

AccessControlBenchmarks.Promotion_SharedToExclusive (ThreadCount=8)

AccessControlBenchmarks.SharedLock_Contended (ThreadCount=2)

AccessControlBenchmarks.SharedLock_Contended (ThreadCount=4)

AccessControlBenchmarks.SharedLock_Contended (ThreadCount=8)

AccessControlBenchmarks.SharedLock_Uncontended (ThreadCount=2)

AccessControlBenchmarks.SharedLock_Uncontended (ThreadCount=4)

AccessControlBenchmarks.SharedLock_Uncontended (ThreadCount=8)

AccessControlSmallBenchmarks.ExclusiveLock_Uncontended

AccessControlSmallBenchmarks.Promotion_SharedToExclusive

AccessControlSmallBenchmarks.SharedLock_Uncontended

Category: Uncategorized

ClusterRegressionBenchmarks.ClusterIteration_MixedSvVersioned

ClusterRegressionBenchmarks.ClusterIteration_SV

ClusterRegressionBenchmarks.ClusterRandomAccess_Mixed

ClusterRegressionBenchmarks.IndexedQuery_1Percent

ClusterRegressionBenchmarks.OrderedQuery_Take100

ClusterRegressionBenchmarks.VersionedWriteCommit

StrictModeOffPathBenchmarks.EmptyMethod (LoopCount=1024)

StrictModeOffPathBenchmarks.Require_ConditionFalse_OffPath (LoopCount=1024)

StrictModeOffPathBenchmarks.Require_ConditionTrue_OffPath (LoopCount=1024)

TyphonEventOffPathBenchmarks.BeginBTreeInsert_OffPath (LoopCount=1024)

TyphonEventOffPathBenchmarks.BeginCheckpointCycle_OffPath (LoopCount=1024)

TyphonEventOffPathBenchmarks.BeginEcsSpawn_OffPath (LoopCount=1024)

TyphonEventOffPathBenchmarks.BeginEcsSpawn_WithOptional_OffPath (LoopCount=1024)

TyphonEventOffPathBenchmarks.EmptyMethod (LoopCount=1024)