From f1bb9de4ac72136a1b0722ce77ac4ea6fd4fa413 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Mon, 19 Oct 2026 07:34:12 +0100 Subject: 140: aup's frictions written away and the apps measured again (no core change, no new opcode): lists declared together, targets together (straight when no value can read what a target changes), a list given a list value whole, abs, tick.period, hex where numbers go; lines to Python 1.47-2.04x (were 1.47-2.15x): UAX #14 176 to 169, layout 116 to 110, HTTP 148 to 146 and its last workaround gone; instructions of the four whose modules changed within 0.2%, inflate's and UAX #14's modules the same; the six specs' checks pass on the three paths, module_specs nine; RTO's checks no longer rewrite G (tick.period); the suite table's rows 5, 8 and 9 --- research/experiments/044-specs/2026-10-19-frictions.jsonl | 11 +++++++++++ research/experiments/044-specs/rto_check.py | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 research/experiments/044-specs/2026-10-19-frictions.jsonl (limited to 'research/experiments') diff --git a/research/experiments/044-specs/2026-10-19-frictions.jsonl b/research/experiments/044-specs/2026-10-19-frictions.jsonl new file mode 100644 index 0000000..a5668a2 --- /dev/null +++ b/research/experiments/044-specs/2026-10-19-frictions.jsonl @@ -0,0 +1,11 @@ +{"what": "check (the reworked app)", "messages": 400, "bytes": 148582, "records": 3466, "right": {"batches": 400, "rounds": 400, "all": 400}, "paths_same": true, "damaged": 300, "damaged_refused": 185, "damaged_agreed": 300, "aup_lines": 106, "aup_brace_lines": 18, "python_lines": 72} +{"what": "check (the reworked app)", "streams": 200, "bytes": 132623, "requests": 578, "right": {"whole": 200, "random": 200, "bytes": 50}, "paths": {"batches": 200, "rounds": 200, "all": 200}, "paths_same": true, "damaged": 200, "damaged_refused": 35, "damaged_agreed": 200, "aup_lines": 146, "aup_brace_lines": 21, "python_lines": 79} +{"what": "check (the reworked app)", "scenarios": 20, "events": 241612, "timeouts": 156, "right": {"batches": 241612, "rounds": 241612, "all": 241612}, "paths_same": true, "costs": {"10": {"ticks": 218070, "timeouts": 78, "ticks_a_timeout": 2795.8, "late_mean_ms": 4.27, "late_most_ms": 9.875}, "100": {"ticks": 21968, "timeouts": 78, "ticks_a_timeout": 281.6, "late_mean_ms": 49.23, "late_most_ms": 99.0}}, "aup_lines": 56, "aup_brace_lines": 11, "python_lines": 30} +{"what": "check (the reworked app)", "trees": 2000, "nodes": 29388, "refused": {}, "floored": {"items": 7659, "trees": 1399}, "taffy_right": 2000, "taffy_worst": 8.33333334639974e-05, "right": {"batches": 2000, "rounds": 2000, "all": 2000}, "paths_same": true, "aup_lines": 110, "aup_brace_lines": 17, "python_lines": 54} +{"what": "time, before and after", "spec": "dns", "tool": "dns_time.c, three pairs in turns, medians (PURE_JIT=0)", "old": {"ns": 221.014, "instructions": 7409761, "per": 49.9}, "new": {"ns": 220.02, "instructions": 7405497, "per": 49.8}} +{"what": "time, before and after", "spec": "http", "tool": "http_time.c, three pairs in turns, medians (PURE_JIT=0)", "old": {"ns": 270.576, "instructions": 6074414, "per": 61.5}, "new": {"ns": 270.579, "instructions": 6086742, "per": 61.6}} +{"what": "time, before and after", "spec": "layout", "tool": "layout_time.c, three pairs in turns, medians (PURE_JIT=0)", "old": {"ns": 4755.6, "instructions": 43902659, "per": 1493.9}, "new": {"ns": 4646.5, "instructions": 43869283, "per": 1492.8}} +{"what": "work per event, before and after", "spec": "rto", "tool": "pure-run work on tests/specs/rto (10 ms)", "old": {"total": 54201, "tick": 25.0, "transmit": 12.0, "ack": 192.7}, "new": {"total": 54182, "tick": 25.0, "transmit": 12.0, "ack": 191.7}} +{"what": "modules the same, before and after", "specs": ["inflate", "linebreak"], "note": "their instructions and time are as before"} +{"what": "lines (code, closing braces), before and after", "inflate": [[121, 15], [120, 15]], "dns": [[106, 18], [106, 18]], "http": [[148, 21], [146, 21]], "linebreak": [[176, 19], [169, 19]], "rto": [[56, 11], [56, 11]], "layout": [[116, 17], [110, 17]]} +{"what": "layout boxes through lets", "note": "aup 39d4a02..6463228: a value each into a let first", "instructions_per_node": 1525.9, "straight": 1492.8, "hand_written": 1493.9} diff --git a/research/experiments/044-specs/rto_check.py b/research/experiments/044-specs/rto_check.py index be41ffb..1cc30bf 100644 --- a/research/experiments/044-specs/rto_check.py +++ b/research/experiments/044-specs/rto_check.py @@ -112,9 +112,9 @@ if __name__ == '__main__': with tempfile.TemporaryDirectory() as work: source = open(os.path.join(aup, 'examples', 'rto.aup')).read() for period in (10, 100): - module = os.path.join(work, f'rto-{period}.pmod') # its tick and its G the scenario's period + module = os.path.join(work, f'rto-{period}.pmod') # its tick the scenario's period with open(os.path.join(work, f'rto-{period}.aup'), 'w') as f: - f.write(source.replace('every 10 ms', f'every {period} ms').replace('fn PERIOD = 10 ', f'fn PERIOD = {period} ')) + f.write(source.replace('every 10 ms', f'every {period} ms')) # G, tick.period, follows subprocess.run([os.path.join(aup, 'build', 'aup'), 'build', os.path.join(work, f'rto-{period}.aup'), '-o', module], check=True) ticks = timeouts = 0 lateness = [] -- cgit v1.2.3