Benchmark history for the hash, cipher, MAC, KEM and signature implementations in
CryptoHives.Foundation.Security.Cryptography, measured against reference
implementations (the operating system's own, BouncyCastle, and others) across platforms, target
frameworks and data sizes.
Select a platform, category, algorithm family and method; each implementation is drawn as its own series, including the separate SIMD paths — AVX2, AVX-512, SSSE3, NEON and the portable scalar fallback — where an algorithm provides them. The page runs entirely in the browser, with no server and no external database.
Click a color, line style or point shape to hide or show that series.
Data source: benchmark-history.sqlite, generated at build time by
scripts/cryptography-benchmark-trends/import_run_archive.py from the run archive on
the benchmarks branch.
Table (one run) reproduces a single run's report, grouped by data size. Rows for this library's own implementations are shaded, and the baseline row more deeply; Ratio is each row's mean over that baseline. Rows marked not in package are compiled in for measurement only and are excluded from the published NuGet package. Any recorded run can be shown, and a second one compared against it — two dates on one machine, or one commit on two machines, which the run list marks as (same commit).
Hovering a point gives the commit, the value, the .NET runtime it was measured on, and the version of the reference library where one applies. Trend over time plots one point per recorded run, for every recorded data size under the current filters; the line-style legend hides individual sizes, and Metric and Date range apply here. Scaling by size plots data size on the X axis for a single run — the newest by default, any recorded one through the Run picker — drawing both metrics together: mean time is read from the left axis and allocation from the right, with point shape distinguishing the two.