Performance method and limitations — system arm_1

System arm_1: Qualcomm Snapdragon X Elite X1E-78-100 (Oryon), one core, clock pinned at 2.71 GHz (cpufreq performance, min = max), no SMT. Summary.

Measurement

Share of the ICCS placeholder functions

Each reference library is relinked with link-time wrappers (-Wl,--wrap) around pseudohash, pseudoXOF, sm3hash and the DRNG's get_random_number. Every call that crosses an object-file boundary is timed with the CPU tick counter and recorded with its input and output length; nested calls are not counted twice. The reported share is the time inside these functions divided by the time of the whole operation, measured in the same process on the same inputs as the benchmark. The wrappers cost a few tens of cycles per call. On this system the tick counter is cntvct_el0 at 19.2 MHz, so a single short call is resolved only to about 52 ns; the rounding is unbiased and averages out over the many calls that make up a share.

The ICCS helpers sm3hash, pseudohash and pseudoXOF are also timed directly, as hash instances of api/auxfunc.c (performance/iccs, records under iccs/): same reference flags, driver, message lengths and planning as the hash candidates. Before timing, each is checked against an independent model on OpenSSL's SM3, and sm3hash against the GB/T 32905 examples. The summary divides each hash candidate's cycles by those of pseudoXOF with the same output width and message length. This is a direct, self-contained relative measurement, not an estimate of substituting that hash into a public-key scheme. Several hash submissions are not yet constant-time (e.g. table-based S-boxes), so their current timings are not production figures; the summary flags known cases.

Limitations