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}