aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/045-proof-compiler/2026-10-19-break.jsonl
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-19 12:06:33 +0100
committereunhhu <[email protected]>2026-10-19 12:06:33 +0100
commitbbe04c13e58f884d25a933b785b052558c66118b (patch)
tree47320a5304f297c3bb31da6782a870900d934866 /research/experiments/045-proof-compiler/2026-10-19-break.jsonl
parent3b127e6193026188939f0c8b06fb769518deaef5 (diff)
downloadpure-bbe04c13e58f884d25a933b785b052558c66118b.tar.gz
pure-bbe04c13e58f884d25a933b785b052558c66118b.zip
045: where the machine instructions go, by mechanism (where.c samples the address every 100,003 user instructions from perf_event_open's ring, the answers checked first; where.py names each by addr2line's inlined chain: the step() case its line is in, or the function outside): the app's 40,236 a code point are dispatch 30.6% (the switch and run_calls' loop), lists built 17.3%, numbers 13.5%, lists read 13.0%, moves 9.0%, calls 7.1%, malloc 4.0%; no mechanism near most; range()'s binary search alone 14,489 a point (36%, variant v0r): 11.4 rounds of about 1,270, of which floor division with fmod 186 and a stored read 240
Diffstat (limited to 'research/experiments/045-proof-compiler/2026-10-19-break.jsonl')
-rw-r--r--research/experiments/045-proof-compiler/2026-10-19-break.jsonl3
1 files changed, 3 insertions, 0 deletions
diff --git a/research/experiments/045-proof-compiler/2026-10-19-break.jsonl b/research/experiments/045-proof-compiler/2026-10-19-break.jsonl
index 07aef0d..f70a825 100644
--- a/research/experiments/045-proof-compiler/2026-10-19-break.jsonl
+++ b/research/experiments/045-proof-compiler/2026-10-19-break.jsonl
@@ -8,3 +8,6 @@
{"mode":"native","lines":18672,"code_points":61285,"rounds":3,"jit":"0","c_instructions_per_point":220.2,"c_cycles_per_point":82.7,"pure_instructions_per_point":28600.9,"pure_cycles_per_point":11868.1}
{"mode":"interp","lines":18672,"code_points":61285,"rounds":3,"jit":"0","c_instructions_per_point":220.2,"c_cycles_per_point":82.2,"pure_instructions_per_point":40702.7,"pure_cycles_per_point":15539.8}
{"mode":"native","lines":18672,"code_points":61285,"rounds":3,"jit":"0","c_instructions_per_point":220.2,"c_cycles_per_point":83.5,"pure_instructions_per_point":28602.1,"pure_cycles_per_point":11831.7}
+{"what": "variant v0r: the empty handler and range(p.code) a point (events.c, PURE_JIT=0)", "empty_handler": 1562.6, "range_only": 16051.7, "lists_built": 24211.2, "range_per_point": 14489.1, "range_iterations_per_point": 11.4}
+{"what": "mechanisms, the app (where.c and where.py: 246,581 samples every 100,003 user instructions, 10 rounds, answers checked)", "machine_instructions_per_point": 40236, "dispatch": 12298, "list_build": 6953, "compute": 5416, "list_read": 5238, "moves": 3601, "call": 2847, "memory": 1609, "unplaced": 1213, "event": 947, "loop": 113}
+{"what": "mechanisms, variant v0r (range only)", "machine_instructions_per_point": 16089, "dispatch": 6038, "compute": 3697, "list_read": 2729, "moves": 1521, "unplaced": 713, "list_build": 451, "call": 360, "memory": 247, "event": 190, "loop": 144, "floor_divide_and_fmod": 2121}