aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/044-specs/2026-10-18-stage2c.jsonl
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-18 16:44:17 +0100
committereunhhu <[email protected]>2026-10-18 16:44:17 +0100
commit241016b0fc3139414089619f0ef8cb7237722c6c (patch)
treeb782ed50757ee910278c8d1129dcfc7ded48d527 /research/experiments/044-specs/2026-10-18-stage2c.jsonl
parent433f56c29b26b83cd2991b4a834b427fae3e75d4 (diff)
downloadpure-241016b0fc3139414089619f0ef8cb7237722c6c.tar.gz
pure-241016b0fc3139414089619f0ef8cb7237722c6c.zip
Research 140, 027's stage 2c measured: JSON read into a tree by recursive descent (aup's examples/json_tree.aup: value(d, i) -> Json, number giving the value and where it ends, each call's own let's lists, string's escapes joined by char(u), a depth-first walk passing items as values) against Python's reading walked so: JSONTestSuite's 95 y_ taken alike, no n_ taken, 2b's 6 i_ taken (a lone surrogate refused by char as encoding); 100,000 and 50,000 deep refused as memory (the frames fill the event's room, 0.2 s), 30,000 deep taken (past Python's json); 300 random documents alike; in make check (module_specs' digest now depth first, three paths); 142 lines against the same design's 105 in Python (json_rec.py; the bar missed: 24 lines of declarations, 23 of braces), 46 times cJSON's time and 1.6 times plain Python's (600 ns a byte, 248 Pure instructions; 71% in the steps, about 10% in calls, 66,000 calls a document, most of them small block fns like skip); characters against Python's ord in aup's check; probes: p5-chars compiles, p4-rec (a view calling itself) refused; instruction counts: the workloads' modules the same, batches within 0.001% of 2b (BFS -0.21%), the executor alone -0.001% to +0.30%, the bank's queries -0.30% to +0.11% (four runs each; bar 1%); json_rec_time.c (cJSON, a depth-first digest compared first); CHECKPOINT's direction row through 2c
Diffstat (limited to 'research/experiments/044-specs/2026-10-18-stage2c.jsonl')
-rw-r--r--research/experiments/044-specs/2026-10-18-stage2c.jsonl6
1 files changed, 6 insertions, 0 deletions
diff --git a/research/experiments/044-specs/2026-10-18-stage2c.jsonl b/research/experiments/044-specs/2026-10-18-stage2c.jsonl
new file mode 100644
index 0000000..99972d6
--- /dev/null
+++ b/research/experiments/044-specs/2026-10-18-stage2c.jsonl
@@ -0,0 +1,6 @@
+{"size":103781,"jit":"0","batch":"","c_ns_per_byte":13.050,"pure_ns_per_byte":599.753,"ratio":46.0,"instructions":25733137,"instructions_per_byte":248.0}
+{"size":103781,"python_ns_per_byte":367.8,"python_json_module_ns_per_byte":54.0}
+{"size":103781,"jit":"0","batch":"","c_ns_per_byte":13.814,"pure_ns_per_byte":600.877,"ratio":43.5,"instructions":25733137,"instructions_per_byte":248.0}
+{"size":103781,"python_ns_per_byte":365.5,"python_json_module_ns_per_byte":53.8}
+{"size":103781,"jit":"0","batch":"","c_ns_per_byte":13.141,"pure_ns_per_byte":598.454,"ratio":45.5,"instructions":25733137,"instructions_per_byte":248.0}
+{"size":103781,"python_ns_per_byte":369.3,"python_json_module_ns_per_byte":54.8}