nx_p256_verify_bench.nx
buildroot/runtime/nx_p256_verify_bench.nx
about
nx_p256_verify_bench.nx -- end-to-end ECDSA P-256 verify throughput (u1*G + u2*Q double-and-add).
Mirrors runtime/bin/nx_bench_verify but lives where nx_sov_build_run / nx_cand_build_run find it, so
the SAME bench measures the production stack (live toolchain) AND -- when nx_p256_field_mul is
temporarily routed to the fused-mulx + fast-reduce path -- the optimized stack (candidate compiler).
This is the true Amdahl-real end-to-end number for the field-mul optimization. expect_exit: 0
license_tier: ORIGINAL
dependencies 9 imports · 0 importers
imports: nx_syscalls.nxnx_itoa_lib.nxnx_csprng.nxnx_u256.nxnx_p256_modn.nxnx_p256_point.nxnx_p256_scalar_mul.nxnx_ecdsa_p256.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
structs
| none |
consts
| 16 | const K_MAGIC_1000000000: i64 = 1000000000 |
| 26 | const NV: i64 = 200 |
functions
| 18 | func vb_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } |
| 23 | func vb_putn(v: i64) -> i64 { nxi_out(v); return 0 } |
| 24 | func vb_now_ns(ts: *i64) -> i64 { __syscall(SYS_CLOCK_GETTIME, 1, ts as i64, 0, 0, 0, 0); return ts[0] * K_MAGIC_1000000000 + ts[1] } called by 1: main |
| 28 | func main() -> i64 |