code wiki / bin / nx_crypto_bench.nx

nx_crypto_bench.nx

buildroot/runtime/bin/nx_crypto_bench.nx

2813 B93 linesdepth 11pulls 25 transitivereach 0 importersview sourcekind benchtopic crypto
docsdependenciesstructsconstsfunctions

about

nx_crypto_bench.nx -- micro-benchmark the handshake-dominating crypto ops so we optimize the right thing (P1 of the S-class roadmap). Times: X25519 keygen (fixed-base), X25519 ECDH (variable-base), P-256 ECDSA sign (fixed-base k*G + modinv). Prints us/op.

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_csprng.nx nx_x25519_ephemeral.nx nx_ecdsa_p256_sign.nx nx_crypto_bench.nx

imports: nx_syscalls.nxnx_csprng.nxnx_x25519_ephemeral.nxnx_ecdsa_p256_sign.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ nx_csprng_fill sys_mmap ↻ nx_csprng_urandom_path sys_openat_rd sys_read sys_close sys_now_us sys_mmap ↻ sys_clock_gettime_mono bench_print sys_write ↻ bench_strlen sys_mmap ↻ u256_alloc nx_scratch nx_scratch_init sys_mmap ↻ nx_scratch_oom sys_write ↻ sys_exit ↻ sys_mmap ↻ u256_load_be nx_ecdsa_p256_sign nx_scratch_save

structs

none

consts

none

functions

10func bench_strlen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != 0 { n = n + 1 } return n }
called by 1: bench_print
12func bench_print(label: *u8, n: i64) -> i64
called by 1: main calls 3: sys_writebench_strlensys_mmap
38func main() -> i64