CryptoHives Threading Speed Differences

How far apart competing implementations of the same primitive land in the selected run. Each ratio is a variant's mean time over the fastest ranked variant's: 1.00 is the winner, 2.00 twice as slow.

Loading database…

Ratio heatmap

1.0x 5x+

Ratios use the scenario closest to normal use: one contending party with a live, uncancelled token where measured. Averaging over every contention level would let whichever variant scales worst dominate; the trends dashboard's "Scaling by contention" view shows that instead. See also the library matrix. The raw baselines some classes record (Interlocked, lock, SpinLock) are not primitives and are left out.

n/c (non-competing, hors concours) cells are measured and shown for scale but held out of the ratio (the measured mean is in the tooltip), because they skip work the others pay for on every call: the vendored RefImpl (no cancellation, timeout or pooling); DotNext's AsyncExclusiveLock and reader-writer lock (no disposable releaser); and "System" in the AutoResetEvent, ManualResetEvent, Barrier and ReaderWriterLockSlim rows (a blocking wait). Hover a cell for the reason.

† "System" primitive that may lack a true async wait, so its number is a baseline rather than a fair race. ‡ ProtoPromise, which uses its own Promise and cancellation token types rather than ValueTask and CancellationToken, so it is not drop-in compatible.

Data: benchmark-history.sqlite, built from the benchmarks branch.