code wiki / _hdl_build / nx_perf_panel.nx

nx_perf_panel.nx source

↩ module page · 113 lines · 5027 B

1// nx_perf_panel.nx -- the SPEED/ENERGY #1 meter (operator: be #1 on the energy-efficiency 2// study measures). Scores perf_panel.tsv verdicts -> perf_rank permil + names the gap to 3// #1. Verdict in COLUMN 3 (the lang_maturity lm_col gene, debugged): LEAD=1000 (#1-class) 4// TOP-TIER=700 BEHIND=300 (named gap) MODELED=500 (not yet RAPL-measured). 5// Durable: PERFDIM + PERFPANEL -> knowledge/status/perf_panel.log. argv[1]=panel. 6// license_tier: ORIGINAL 7import "nx_syscalls.nx" 8const K_MAGIC_262144: i64 = 262144 9const K_MAGIC_262128: i64 = 262128 10const K_MAGIC_9999: i64 = 9999 11func _p(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } 12func _fp(fd: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd,s,n); return 0 } 13func _fn(fd: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48 as u8;k=1}; while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd,bb,k); return 0 } 14func pp_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } 15func pp_read(path: *u8, buf: *u8, cap: i64) -> i64 { 16 let fd: i64 = sys_openat_rd(path) 17 if fd < 0 { return 0 } 18 var n: i64 = 0 19 var go: i64 = 1 20 while go == 1 { let base: i64 = buf as i64; let r: i64 = sys_read(fd, (base + n) as *u8, cap - n); if r <= 0 { go = 0 } else { n = n + r } if n >= cap { go = 0 } } 21 sys_close(fd) 22 return n 23} 24func pp_has(hay: *u8, a: i64, b: i64, pat: *u8) -> i64 { 25 let pl: i64 = pp_len(pat) 26 if pl == 0 { return 0 } 27 var i: i64 = a 28 while i + pl <= b { 29 var k: i64 = 0 30 var hit: i64 = 1 31 while k < pl { if hay[i+k] != pat[k] { hit = 0; k = pl } else { k = k + 1 } } 32 if hit == 1 { return 1 } 33 i = i + 1 34 } 35 return 0 36} 37func pp_col(buf: *u8, a: i64, b: i64, col: i64, out: *i64) -> i64 { 38 var p: i64 = a 39 var seen: i64 = 0 40 while seen < col { 41 if p >= b { out[0] = b; out[1] = b; return 0 } 42 if buf[p] == (9 as u8) { seen = seen + 1 } 43 p = p + 1 44 } 45 out[0] = p 46 var e: i64 = p 47 var done: i64 = 0 48 while done == 0 { 49 if e >= b { done = 1 } 50 else { if buf[e] == (9 as u8) { done = 1 } else { e = e + 1 } } 51 } 52 out[1] = e 53 return 0 54} 55func pp_dim(buf: *u8, a: i64, b: i64, out: *u8) -> i64 { 56 var o: i64 = 0 57 var i: i64 = a 58 while i < b { if buf[i] == (9 as u8) { i = b } else { out[o] = buf[i]; o = o + 1; i = i + 1 } } 59 out[o] = 0 as u8 60 return o 61} 62func main(argc: i64, argv: *i64) -> i64 { 63 var pp: *u8 = "knowledge/registry/perf_panel.tsv" as *u8 64 if argc >= 2 { pp = argv[1] as *u8 } 65 _p("=== PERF PANEL: speed + energy + efficiency, the #1 climb scored ===\n" as *u8) 66 let b: *u8 = sys_mmap(K_MAGIC_262144) 67 let n: i64 = pp_read(pp, b, K_MAGIC_262128) 68 if n <= 0 { _p(" perf_panel MISSING -- fail loud\n" as *u8); sys_exit(1); return 1 } 69 let lfd: i64 = sys_openat_append("knowledge/status/perf_panel.log" as *u8, 0x1a4) 70 if lfd < 0 { _p(" perf_panel log open failed\n" as *u8); sys_exit(1); return 1 } 71 let dimn: *u8 = sys_mmap(128) 72 var ndim: i64 = 0 73 var sum: i64 = 0 74 var nlead: i64 = 0 75 var lo: i64 = K_MAGIC_9999 76 let lod: *u8 = sys_mmap(128) 77 var i: i64 = 0 78 while i < n { 79 var le: i64 = i 80 var s: i64 = 1 81 while s == 1 { if le >= n { s = 0 } else { if b[le] == (10 as u8) { s = 0 } else { le = le + 1 } } } 82 if b[i] != (35 as u8) { 83 let vc: *i64 = sys_mmap(16) as *i64 84 pp_col(b, i, le, 3, vc) 85 var sc: i64 = 0 - 1 86 if pp_has(b, vc[0], vc[1], "LEAD" as *u8) == 1 { sc = 1000; nlead = nlead + 1 } 87 else { if pp_has(b, vc[0], vc[1], "TOP-TIER" as *u8) == 1 { sc = 700 } 88 else { if pp_has(b, vc[0], vc[1], "MODELED" as *u8) == 1 { sc = 500 } 89 else { if pp_has(b, vc[0], vc[1], "BEHIND" as *u8) == 1 { sc = 300 } } } } 90 if sc >= 0 { 91 ndim = ndim + 1 92 sum = sum + sc 93 if sc < lo { lo = sc; pp_dim(b, i, le, lod) } 94 pp_dim(b, i, le, dimn) 95 _fp(lfd, "PERFDIM dim=" as *u8); _fp(lfd, dimn); _fp(lfd, " score=" as *u8); _fn(lfd, sc); _fp(lfd, "\n" as *u8) 96 } 97 } 98 i = le + 1 99 } 100 var rank: i64 = 0 101 if ndim > 0 { rank = sum / ndim } 102 _fp(lfd, "PERFPANEL epoch=" as *u8); _fn(lfd, sys_now_realtime_sec()) 103 _fp(lfd, " dims=" as *u8); _fn(lfd, ndim) 104 _fp(lfd, " lead_dims=" as *u8); _fn(lfd, nlead) 105 _fp(lfd, " perf_rank_permil=" as *u8); _fn(lfd, rank) 106 _fp(lfd, " gap_to_number1=" as *u8); _fp(lfd, lod as *u8) 107 _fp(lfd, " verdict=MEASURED\n" as *u8) 108 sys_close(lfd) 109 _p(" perf_rank_permil=" as *u8); _fn(1, rank); _p(" lead_dims=" as *u8); _fn(1, nlead) 110 _p(" gap_to_#1=" as *u8); _p(lod as *u8); _p(" (codegen tier = the time crown)\n" as *u8) 111 sys_exit(0) 112 return 0 113}