Performance measurements › arm_1 › hash-11 · system: x86_1 · arm_1

hash-11 Garnet — performance on AArch64 (system arm_1)

Independent measurement following the structure of the NICCS ARM self-assessment guide, §3.5 (1)–(7). Not a submitter self-assessment.

1. Basic information

2. Assessment environment

item value
processor Qualcomm Oryon (CPU 2, one core)
machine ASUS Vivobook S 15
clock fixed 2.71 GHz (governor performance, minimum = maximum), boost off, SMT none
memory 30562 MiB
OS / kernel Ubuntu 26.04.1 LTS / 7.0.0-34-generic
compiler / build tool gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 / cmake version 4.2.3
campaign start / end (UTC) 2026-09-28T15:05:46 / 2026-09-29T08:43:52

3. Functional testing (KAT)

Each library was checked against the submitted KAT vectors (SHA-256 manifest hash-11/kat.sha256 in the harness) before timing.

instance build flags KAT
Garnet_512_Cap512 guide PASS
Garnet_512_Cap640 guide PASS
Garnet_512_Cap768 guide PASS
Garnet_512_Cap896 guide PASS
Garnet_512_Cap1024 guide PASS
Garnet_768 guide PASS
Garnet_1024 guide PASS
Garnet_1024_DM4x4 harness-default MISMATCH [1] (not timed)

[1] No reference source: the submission ships a second 1024-bit KAT set (DM4x4, apparently a 512-bit-rate variant) whose only code is x86-64 assembly in the optimized tree; the harness label reuses the Garnet_1024 C sources, so its timing would duplicate Garnet_1024 (hash-11/pseudocode.md, discrepancy 3).

4. Performance

instance message mean cycles cycles/byte mean time MB/s n
Garnet_512_Cap512 32 B 8870 277.2 3.29 µs 9.7 100000 (5 × 20000)
Garnet_512_Cap512 128 B 14.1 k 109.9 5.22 µs 24.5 100000 (5 × 20000)
Garnet_512_Cap512 512 B 29.5 k 57.7 11 µs 46.7 100000 (5 × 20000)
Garnet_512_Cap512 1024 B 50.2 k 49.1 18.6 µs 54.9 100000 (5 × 20000)
Garnet_512_Cap512 4096 B 174.2 k 42.5 64.7 µs 63.3 46110 (5 × 9222)
Garnet_512_Cap512 8192 B 339.6 k 41.5 126 µs 65.0 24355 (5 × 4871)
Garnet_512_Cap512 16384 B 669.9 k 40.9 249 µs 65.9 12425 (5 × 2485)
Garnet_512_Cap512 65536 B 2.65 M 40.5 985 µs 66.5 3120 (5 × 624)
Garnet_512_Cap640 32 B 8878 277.5 3.3 µs 9.7 100000 (5 × 20000)
Garnet_512_Cap640 128 B 11.5 k 89.6 4.26 µs 30.1 100000 (5 × 20000)
Garnet_512_Cap640 512 B 24.4 k 47.7 9.06 µs 56.5 100000 (5 × 20000)
Garnet_512_Cap640 1024 B 39.9 k 39.0 14.8 µs 69.1 100000 (5 × 20000)
Garnet_512_Cap640 4096 B 140.9 k 34.4 52.3 µs 78.4 55240 (5 × 11048)
Garnet_512_Cap640 8192 B 272.7 k 33.3 101 µs 81.0 29470 (5 × 5894)
Garnet_512_Cap640 16384 B 536.3 k 32.7 199 µs 82.3 15415 (5 × 3083)
Garnet_512_Cap640 65536 B 2.13 M 32.4 789 µs 83.0 3395 (5 × 679)
Garnet_512_Cap768 32 B 8879 277.5 3.3 µs 9.7 100000 (5 × 20000)
Garnet_512_Cap768 128 B 11.5 k 89.8 4.27 µs 30.0 100000 (5 × 20000)
Garnet_512_Cap768 512 B 21.9 k 42.7 8.11 µs 63.1 100000 (5 × 20000)
Garnet_512_Cap768 1024 B 34.8 k 34.0 12.9 µs 79.2 100000 (5 × 20000)
Garnet_512_Cap768 4096 B 117.7 k 28.7 43.7 µs 93.8 67895 (5 × 13579)
Garnet_512_Cap768 8192 B 229.3 k 28.0 85.2 µs 96.2 35195 (5 × 7039)
Garnet_512_Cap768 16384 B 448.7 k 27.4 167 µs 98.4 17700 (5 × 3540)
Garnet_512_Cap768 65536 B 1.77 M 27.1 658 µs 99.6 4515 (5 × 903)
Garnet_512_Cap896 32 B 8879 277.5 3.3 µs 9.7 100000 (5 × 20000)
Garnet_512_Cap896 128 B 11.5 k 89.8 4.27 µs 30.0 100000 (5 × 20000)
Garnet_512_Cap896 512 B 19.3 k 37.6 7.15 µs 71.6 100000 (5 × 20000)
Garnet_512_Cap896 1024 B 32.2 k 31.5 12 µs 85.6 100000 (5 × 20000)
Garnet_512_Cap896 4096 B 102.2 k 25.0 37.9 µs 108.0 77425 (5 × 15485)
Garnet_512_Cap896 8192 B 198.0 k 24.2 73.5 µs 111.5 40820 (5 × 8164)
Garnet_512_Cap896 16384 B 386.7 k 23.6 144 µs 114.2 19140 (5 × 3828)
Garnet_512_Cap896 65536 B 1.52 M 23.3 566 µs 115.9 5345 (5 × 1069)
Garnet_512_Cap1024 32 B 8609 269.0 3.2 µs 10.0 100000 (5 × 20000)
Garnet_512_Cap1024 128 B 11.1 k 86.9 4.13 µs 31.0 100000 (5 × 20000)
Garnet_512_Cap1024 512 B 18.6 k 36.4 6.92 µs 74.0 100000 (5 × 20000)
Garnet_512_Cap1024 1024 B 28.7 k 28.0 10.7 µs 96.1 100000 (5 × 20000)
Garnet_512_Cap1024 4096 B 88.9 k 21.7 33 µs 124.2 88400 (5 × 17680)
Garnet_512_Cap1024 8192 B 169.2 k 20.7 62.8 µs 130.5 47525 (5 × 9505)
Garnet_512_Cap1024 16384 B 330.5 k 20.2 123 µs 133.4 24480 (5 × 4896)
Garnet_512_Cap1024 65536 B 1.29 M 19.8 480 µs 136.4 6290 (5 × 1258)
Garnet_768 32 B 10.7 k 334.6 3.98 µs 8.0 100000 (5 × 20000)
Garnet_768 128 B 14.1 k 110.5 5.25 µs 24.4 100000 (5 × 20000)
Garnet_768 512 B 29.9 k 58.3 11.1 µs 46.2 100000 (5 × 20000)
Garnet_768 1024 B 50.9 k 49.7 18.9 µs 54.2 100000 (5 × 20000)
Garnet_768 4096 B 216.7 k 52.9 80.4 µs 50.9 46025 (5 × 9205)
Garnet_768 8192 B 344.2 k 42.0 128 µs 64.1 24135 (5 × 4827)
Garnet_768 16384 B 679.5 k 41.5 252 µs 65.0 12300 (5 × 2460)
Garnet_768 65536 B 2.69 M 41.1 999 µs 65.6 3095 (5 × 619)
Garnet_1024 32 B 43.1 k 1347.0 16 µs 2.0 100000 (5 × 20000)
Garnet_1024 128 B 58.5 k 457.0 21.7 µs 5.9 100000 (5 × 20000)
Garnet_1024 512 B 99.5 k 194.3 36.9 µs 13.9 81220 (5 × 16244)
Garnet_1024 1024 B 159.6 k 155.9 59.2 µs 17.3 51505 (5 × 10301)
Garnet_1024 4096 B 509.2 k 124.3 189 µs 21.7 16480 (5 × 3296)
Garnet_1024 8192 B 1.07 M 130.8 398 µs 20.6 8410 (5 × 1682)
Garnet_1024 16384 B 1.93 M 118.0 717 µs 22.8 4025 (5 × 805)
Garnet_1024 65536 B 7.62 M 116.2 2.83 ms 23.2 1110 (5 × 222)

5. Resource consumption

Static memory is approximated by the library's loadable ELF segments; peak memory is the process high-water mark (VmHWM) including the benchmark driver and libc, so both are upper-bound proxies rather than isolated algorithm memory.

instance operation static: ELF image (bytes) baseline RSS peak RSS
Garnet_512_Cap512 hash_32 36516 1424 KiB 1488 KiB
Garnet_512_Cap512 hash_128 36516 1424 KiB 1488 KiB
Garnet_512_Cap512 hash_512 36516 1424 KiB 1492 KiB
Garnet_512_Cap512 hash_1024 36516 1428 KiB 1492 KiB
Garnet_512_Cap512 hash_4096 36516 1428 KiB 1496 KiB
Garnet_512_Cap512 hash_8192 36516 1432 KiB 1504 KiB
Garnet_512_Cap512 hash_16384 36516 1440 KiB 1520 KiB
Garnet_512_Cap512 hash_65536 36516 1488 KiB 1616 KiB
Garnet_512_Cap640 hash_32 36580 1424 KiB 1488 KiB
Garnet_512_Cap640 hash_128 36580 1424 KiB 1488 KiB
Garnet_512_Cap640 hash_512 36580 3460 KiB 3524 KiB
Garnet_512_Cap640 hash_1024 36580 1428 KiB 1492 KiB
Garnet_512_Cap640 hash_4096 36580 1428 KiB 1496 KiB
Garnet_512_Cap640 hash_8192 36580 1432 KiB 1504 KiB
Garnet_512_Cap640 hash_16384 36580 1436 KiB 1516 KiB
Garnet_512_Cap640 hash_65536 36580 3496 KiB 3560 KiB
Garnet_512_Cap768 hash_32 36580 1424 KiB 1488 KiB
Garnet_512_Cap768 hash_128 36580 1424 KiB 1488 KiB
Garnet_512_Cap768 hash_512 36580 1424 KiB 1492 KiB
Garnet_512_Cap768 hash_1024 36580 1428 KiB 1492 KiB
Garnet_512_Cap768 hash_4096 36580 1428 KiB 1496 KiB
Garnet_512_Cap768 hash_8192 36580 1432 KiB 1504 KiB
Garnet_512_Cap768 hash_16384 36580 1440 KiB 1520 KiB
Garnet_512_Cap768 hash_65536 36580 3488 KiB 3552 KiB
Garnet_512_Cap896 hash_32 36644 1424 KiB 1488 KiB
Garnet_512_Cap896 hash_128 36644 1424 KiB 1488 KiB
Garnet_512_Cap896 hash_512 36644 1424 KiB 1492 KiB
Garnet_512_Cap896 hash_1024 36644 1428 KiB 1492 KiB
Garnet_512_Cap896 hash_4096 36644 1428 KiB 1496 KiB
Garnet_512_Cap896 hash_8192 36644 1432 KiB 1504 KiB
Garnet_512_Cap896 hash_16384 36644 1440 KiB 1520 KiB
Garnet_512_Cap896 hash_65536 36644 3480 KiB 3544 KiB
Garnet_512_Cap1024 hash_32 35988 1424 KiB 1488 KiB
Garnet_512_Cap1024 hash_128 35988 1424 KiB 1488 KiB
Garnet_512_Cap1024 hash_512 35988 1424 KiB 1492 KiB
Garnet_512_Cap1024 hash_1024 35988 1428 KiB 1492 KiB
Garnet_512_Cap1024 hash_4096 35988 1428 KiB 1496 KiB
Garnet_512_Cap1024 hash_8192 35988 1432 KiB 1504 KiB
Garnet_512_Cap1024 hash_16384 35988 1440 KiB 1520 KiB
Garnet_512_Cap1024 hash_65536 35988 1488 KiB 1616 KiB
Garnet_768 hash_32 35972 3448 KiB 3512 KiB
Garnet_768 hash_128 35972 1424 KiB 1488 KiB
Garnet_768 hash_512 35972 1420 KiB 1488 KiB
Garnet_768 hash_1024 35972 1428 KiB 1492 KiB
Garnet_768 hash_4096 35972 1428 KiB 1496 KiB
Garnet_768 hash_8192 35972 1432 KiB 1504 KiB
Garnet_768 hash_16384 35972 1440 KiB 1520 KiB
Garnet_768 hash_65536 35972 1488 KiB 1616 KiB
Garnet_1024 hash_32 35972 1424 KiB 1488 KiB
Garnet_1024 hash_128 35972 1424 KiB 1488 KiB
Garnet_1024 hash_512 35972 1424 KiB 1492 KiB
Garnet_1024 hash_1024 35972 1428 KiB 1492 KiB
Garnet_1024 hash_4096 35972 1428 KiB 1496 KiB
Garnet_1024 hash_8192 35972 1432 KiB 1504 KiB
Garnet_1024 hash_16384 35972 1440 KiB 1520 KiB
Garnet_1024 hash_65536 35972 1488 KiB 1616 KiB

7. Raw evidence index

Paths are relative to performance/data/arm_1/ in the harness; each JSON file records its commands, environment and trials.

instance item file
Garnet_512_Cap512 KAT log (sha256 1f9dfe5152e3e240…) kat/hash-11/Garnet_512_Cap512.log
Garnet_512_Cap512 timing hash_1024 records/hash-11/Garnet_512_Cap512__hash_1024.json
Garnet_512_Cap512 timing hash_128 records/hash-11/Garnet_512_Cap512__hash_128.json
Garnet_512_Cap512 timing hash_16384 records/hash-11/Garnet_512_Cap512__hash_16384.json
Garnet_512_Cap512 timing hash_32 records/hash-11/Garnet_512_Cap512__hash_32.json
Garnet_512_Cap512 timing hash_4096 records/hash-11/Garnet_512_Cap512__hash_4096.json
Garnet_512_Cap512 timing hash_512 records/hash-11/Garnet_512_Cap512__hash_512.json
Garnet_512_Cap512 timing hash_65536 records/hash-11/Garnet_512_Cap512__hash_65536.json
Garnet_512_Cap512 timing hash_8192 records/hash-11/Garnet_512_Cap512__hash_8192.json
Garnet_512_Cap640 KAT log (sha256 836f2ea099ed527f…) kat/hash-11/Garnet_512_Cap640.log
Garnet_512_Cap640 timing hash_1024 records/hash-11/Garnet_512_Cap640__hash_1024.json
Garnet_512_Cap640 timing hash_128 records/hash-11/Garnet_512_Cap640__hash_128.json
Garnet_512_Cap640 timing hash_16384 records/hash-11/Garnet_512_Cap640__hash_16384.json
Garnet_512_Cap640 timing hash_32 records/hash-11/Garnet_512_Cap640__hash_32.json
Garnet_512_Cap640 timing hash_4096 records/hash-11/Garnet_512_Cap640__hash_4096.json
Garnet_512_Cap640 timing hash_512 records/hash-11/Garnet_512_Cap640__hash_512.json
Garnet_512_Cap640 timing hash_65536 records/hash-11/Garnet_512_Cap640__hash_65536.json
Garnet_512_Cap640 timing hash_8192 records/hash-11/Garnet_512_Cap640__hash_8192.json
Garnet_512_Cap768 KAT log (sha256 9f0bb370112cc687…) kat/hash-11/Garnet_512_Cap768.log
Garnet_512_Cap768 timing hash_1024 records/hash-11/Garnet_512_Cap768__hash_1024.json
Garnet_512_Cap768 timing hash_128 records/hash-11/Garnet_512_Cap768__hash_128.json
Garnet_512_Cap768 timing hash_16384 records/hash-11/Garnet_512_Cap768__hash_16384.json
Garnet_512_Cap768 timing hash_32 records/hash-11/Garnet_512_Cap768__hash_32.json
Garnet_512_Cap768 timing hash_4096 records/hash-11/Garnet_512_Cap768__hash_4096.json
Garnet_512_Cap768 timing hash_512 records/hash-11/Garnet_512_Cap768__hash_512.json
Garnet_512_Cap768 timing hash_65536 records/hash-11/Garnet_512_Cap768__hash_65536.json
Garnet_512_Cap768 timing hash_8192 records/hash-11/Garnet_512_Cap768__hash_8192.json
Garnet_512_Cap896 KAT log (sha256 ad262571d2926a39…) kat/hash-11/Garnet_512_Cap896.log
Garnet_512_Cap896 timing hash_1024 records/hash-11/Garnet_512_Cap896__hash_1024.json
Garnet_512_Cap896 timing hash_128 records/hash-11/Garnet_512_Cap896__hash_128.json
Garnet_512_Cap896 timing hash_16384 records/hash-11/Garnet_512_Cap896__hash_16384.json
Garnet_512_Cap896 timing hash_32 records/hash-11/Garnet_512_Cap896__hash_32.json
Garnet_512_Cap896 timing hash_4096 records/hash-11/Garnet_512_Cap896__hash_4096.json
Garnet_512_Cap896 timing hash_512 records/hash-11/Garnet_512_Cap896__hash_512.json
Garnet_512_Cap896 timing hash_65536 records/hash-11/Garnet_512_Cap896__hash_65536.json
Garnet_512_Cap896 timing hash_8192 records/hash-11/Garnet_512_Cap896__hash_8192.json
Garnet_512_Cap1024 KAT log (sha256 0638c27897f390bc…) kat/hash-11/Garnet_512_Cap1024.log
Garnet_512_Cap1024 timing hash_1024 records/hash-11/Garnet_512_Cap1024__hash_1024.json
Garnet_512_Cap1024 timing hash_128 records/hash-11/Garnet_512_Cap1024__hash_128.json
Garnet_512_Cap1024 timing hash_16384 records/hash-11/Garnet_512_Cap1024__hash_16384.json
Garnet_512_Cap1024 timing hash_32 records/hash-11/Garnet_512_Cap1024__hash_32.json
Garnet_512_Cap1024 timing hash_4096 records/hash-11/Garnet_512_Cap1024__hash_4096.json
Garnet_512_Cap1024 timing hash_512 records/hash-11/Garnet_512_Cap1024__hash_512.json
Garnet_512_Cap1024 timing hash_65536 records/hash-11/Garnet_512_Cap1024__hash_65536.json
Garnet_512_Cap1024 timing hash_8192 records/hash-11/Garnet_512_Cap1024__hash_8192.json
Garnet_768 KAT log (sha256 8e1382ae0a2a9f7a…) kat/hash-11/Garnet_768.log
Garnet_768 timing hash_1024 records/hash-11/Garnet_768__hash_1024.json
Garnet_768 timing hash_128 records/hash-11/Garnet_768__hash_128.json
Garnet_768 timing hash_16384 records/hash-11/Garnet_768__hash_16384.json
Garnet_768 timing hash_32 records/hash-11/Garnet_768__hash_32.json
Garnet_768 timing hash_4096 records/hash-11/Garnet_768__hash_4096.json
Garnet_768 timing hash_512 records/hash-11/Garnet_768__hash_512.json
Garnet_768 timing hash_65536 records/hash-11/Garnet_768__hash_65536.json
Garnet_768 timing hash_8192 records/hash-11/Garnet_768__hash_8192.json
Garnet_1024 KAT log (sha256 33e8b15504a5dda1…) kat/hash-11/Garnet_1024.log
Garnet_1024 timing hash_1024 records/hash-11/Garnet_1024__hash_1024.json
Garnet_1024 timing hash_128 records/hash-11/Garnet_1024__hash_128.json
Garnet_1024 timing hash_16384 records/hash-11/Garnet_1024__hash_16384.json
Garnet_1024 timing hash_32 records/hash-11/Garnet_1024__hash_32.json
Garnet_1024 timing hash_4096 records/hash-11/Garnet_1024__hash_4096.json
Garnet_1024 timing hash_512 records/hash-11/Garnet_1024__hash_512.json
Garnet_1024 timing hash_65536 records/hash-11/Garnet_1024__hash_65536.json
Garnet_1024 timing hash_8192 records/hash-11/Garnet_1024__hash_8192.json

Scripts: performance/campaign.py, performance/ngcc_perf.c, performance/hashprof/ in the harness.