code wiki / (root) / nx_bench_companion_timed.nx

nx_bench_companion_timed.nx

buildroot/runtime/nx_bench_companion_timed.nx

3781 B107 linesdepth 5pulls 10 transitivereach 10 importersview sourcekind benchtopic bench
docsdependenciesstructsconstsfunctions

about

nx_bench_companion_timed.nx -- wall-clock-wrapped substrate measurement. Sibling to [[nx_bench_companion]]. Adds REAL wall-clock timing (via nx_clock_monotonic_ns) around bench capture, so substrate counters AND elapsed microseconds land in one report. Per CARDINAL [[feedback-no-strawman-perf-comparisons]]: wall-clock under qemu-riscv64 is NOT comparable to wall-clock on physical hardware (qemu is single-threaded + interpreter-emulated). What it IS: the substrate's first real time-measurement primitive, so future physical-hardware bench runs use the same call. When the Phase E + physical-board arcs land, this primitive doesn't change; only the wall-clock number does.

dependencies 5 imports · 10 importers

nx_syscalls.nx nx_tier.nx nx_clock.nx nx_session.nx nx_bench_companion.nx nx_bench_companion_timed.nx nx_bench_companion_timed_test.nx nx_bench_dist_emit_test.nx nx_bench_dist_persist_test.nx nx_bench_scale_dist_emit_test.nx nx_bench_scale_test.nx nx_bench_stress_autoreg_test.nx nx_bench_stress_emit_test.nx nx_dual_real_llm_compose_test.nx nx_dual_real_llm_emit_test.nx nx_quad_real_emit_test.nx

imports: nx_syscalls.nxnx_tier.nxnx_clock.nxnx_session.nxnx_bench_companion.nx

imported by: nx_bench_companion_timed_test.nxnx_bench_dist_emit_test.nxnx_bench_dist_persist_test.nxnx_bench_scale_dist_emit_test.nxnx_bench_scale_test.nxnx_bench_stress_autoreg_test.nxnx_bench_stress_emit_test.nxnx_dual_real_llm_compose_test.nxnx_dual_real_llm_emit_test.nxnx_quad_real_emit_test.nx

structs

40struct NxBenchTimedReport

consts

23const NX_BCTM_OK: nx_int = 0
24const NX_BCTM_NULL_SESSION: nx_int = 1
25const NX_BCTM_NULL_REPORT: nx_int = 2
26const NX_BCTM_NEGATIVE_ELAPSED: nx_int = 3
27const NX_BCTM_INVALID: nx_int = 4
28const NX_BCTM_N: nx_int = 5
48const NX_BCTM_BYTES: nx_int = 40

functions

30func nx_bctm_v_is_valid(v: nx_int) -> nx_int
called by 1: main
50func nx_bctm_new(base: *NxBenchReport) -> *NxBenchTimedReport
74func nx_bctm_capture_finish(t: *NxBenchTimedReport,
99func nx_bctm_elapsed_us(t: *NxBenchTimedReport) -> i64
called by 1: main
104func nx_bctm_verdict(t: *NxBenchTimedReport) -> nx_int
called by 4: mainmainmainmain