code wiki / _hdl_build / nx_search_race.nx
nx_search_race.nx
buildroot/runtime/_hdl_build/nx_search_race.nx
about
nx_search_race.nx -- IM6b: THE BEAT-FTS5 SEARCH RACE (the full-text-search
EXCEED measurement on the REAL unified team-log corpus).
Two lanes, SAME input (pm_plan_durable.log + cap_registry_durable.log,
unique non-empty lines), SAME 9-query set (6 terms + 3 ANDs) x 200
iterations, each lane self-timing ONLY its engine work:
SOV lane: /tmp/nx_race_search_worker.sov.elf (chunked fsync'd commits
w/ .keys+.terms/.post; handle + postings queries)
FTS5 lane: python3 sqlite3 FTS5 (the incumbent full-text engine; run as
an EXTERNAL COMPETITOR PROCESS, harness .py written to /tmp at
runtime -- the repo stays pure NishiLang)
Verdict law: numbers are MEASURED and logged win or lose; every per-query
COUNT must match between lanes or the race is INVALID (correctness before
speed). Exit 0 only on SOV-WINS-BOTH. Durable: infomgmt_race.log.
license_tier: ORIGINAL
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_itoa_lib.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
| 20 | const K_MAGIC_8192: i64 = 8192 |
| 21 | const K_MAGIC_8000: i64 = 8000 |
functions
| 23 | func sx_p(s: *u8) -> i64 |
| 30 | func sx_fp(fd: i64, s: *u8) -> i64 |
| 41 | func sx_fn(fd: i64, v: i64) -> i64 { nxi_fd(fd, v); return 0 } |
| 43 | func sx_cat(dst: *u8, off: i64, s: *u8) -> i64 called by 1: main |
| 49 | func sx_catn(dst: *u8, off: i64, v: i64) -> i64 |
| 61 | func sx_run(path: *u8, a1: *u8, a2: *u8, a3: *u8, outpath: *u8) -> i64 |
| 85 | func sx_num_after(path: *u8, pat: *u8) -> i64 |
| 123 | func sx_write_py(path: *u8) -> i64 |
| 161 | func main() -> i64 |