Brummel
4cacfcbdac
bench: mono-vs-vdisp micro-benchmark + revised Decision 11 rationale
...
Hypothesis-driven measurement of "did monomorphisation actually
buy us performance?" on a 100M-iter LCG hot loop, AILang mono'd
code vs. four C reference variants (direct-inlinable, direct-
noinline, indirect-monomorphic, indirect-polymorphic). Zen 3,
clang -O2, median-of-15.
Headline: H1 supported, but the mechanism is inlining, not
dispatch shape. AILang mono = hand-C direct (1.000x). Indirect-
monomorphic = direct-noinline (1.000x) — saturating branch
predictor makes the indirect-call cost vanish on this hardware.
Inlining is the actual 3.31x win; polymorphic indirect adds
another 21% predictor-miss penalty.
DESIGN.md Decision 11 gains a rationale paragraph reframing mono
as inlining-enabler rather than indirect-call-eliminator, with
explicit pointer to the bench. JOURNAL entry records the full
methodology, ratios, limitations, and the side-effect mono-pass
env.globals-seeding bug surfaced while building the AILang fixture
(separate RED-first debug iter to follow).
2026-05-10 01:03:21 +02:00
..
2026-05-09 00:55:57 +02:00
2026-05-09 00:55:57 +02:00
2026-05-09 01:11:26 +02:00
2026-05-09 01:11:26 +02:00
2026-05-09 01:11:26 +02:00
2026-05-09 01:11:26 +02:00
2026-05-09 00:55:57 +02:00
2026-05-09 00:55:57 +02:00
2026-05-08 14:05:03 +02:00
2026-05-08 14:05:03 +02:00
2026-05-08 14:05:03 +02:00
2026-05-08 14:05:03 +02:00
2026-05-09 01:21:15 +02:00
2026-05-09 01:21:15 +02:00
2026-05-08 00:06:20 +02:00
2026-05-08 00:06:20 +02:00
2026-05-08 18:13:43 +02:00
2026-05-10 01:03:21 +02:00
2026-05-08 00:06:20 +02:00
2026-05-08 00:06:20 +02:00
2026-05-08 02:07:07 +02:00
2026-05-08 02:07:07 +02:00
2026-05-07 14:45:35 +02:00
2026-05-07 15:57:24 +02:00
2026-05-07 11:07:36 +02:00
2026-05-08 02:26:12 +02:00
2026-05-08 02:26:12 +02:00
2026-05-07 13:03:20 +02:00
2026-05-07 23:12:24 +02:00
2026-05-07 23:12:24 +02:00
2026-05-07 23:31:35 +02:00
2026-05-07 23:31:35 +02:00
2026-05-07 17:45:33 +02:00
2026-05-07 17:45:33 +02:00
2026-05-07 12:20:18 +02:00
2026-05-07 15:57:24 +02:00
2026-05-07 12:44:10 +02:00
2026-05-07 17:16:28 +02:00
2026-05-07 17:16:28 +02:00
2026-05-07 13:14:28 +02:00
2026-05-07 10:38:07 +02:00
2026-05-07 23:00:23 +02:00
2026-05-07 23:00:23 +02:00
2026-05-07 22:27:21 +02:00
2026-05-07 22:27:21 +02:00
2026-05-07 22:27:21 +02:00
2026-05-07 22:27:21 +02:00
2026-05-07 21:00:49 +02:00
2026-05-07 21:00:49 +02:00
2026-05-07 20:33:48 +02:00
2026-05-07 20:33:48 +02:00
2026-05-07 22:07:05 +02:00
2026-05-07 22:07:05 +02:00
2026-05-07 22:16:12 +02:00
2026-05-07 22:16:12 +02:00
2026-05-07 17:45:33 +02:00
2026-05-07 14:45:35 +02:00
2026-05-07 22:48:14 +02:00
2026-05-07 22:48:14 +02:00
2026-05-07 19:10:01 +02:00
2026-05-07 19:10:01 +02:00
2026-05-08 12:18:12 +02:00
2026-05-08 12:18:12 +02:00
2026-05-07 14:10:51 +02:00
2026-05-07 14:10:51 +02:00
2026-05-07 22:39:28 +02:00
2026-05-07 22:39:28 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 23:03:10 +02:00
2026-05-08 10:25:22 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 15:21:40 +02:00
2026-05-08 15:21:40 +02:00
2026-05-08 14:37:36 +02:00
2026-05-08 14:37:36 +02:00
2026-05-08 14:25:07 +02:00
2026-05-08 14:25:07 +02:00
2026-05-08 10:37:25 +02:00
2026-05-08 10:37:25 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 13:56:17 +02:00
2026-05-08 13:56:17 +02:00
2026-05-08 14:18:30 +02:00
2026-05-08 14:18:30 +02:00
2026-05-08 10:55:31 +02:00
2026-05-08 10:55:31 +02:00
2026-05-07 17:45:33 +02:00
2026-05-07 18:48:43 +02:00
2026-05-07 18:48:43 +02:00
2026-05-07 19:59:42 +02:00
2026-05-07 19:59:42 +02:00
2026-05-07 19:57:06 +02:00
2026-05-07 19:57:06 +02:00
2026-05-07 18:48:43 +02:00
2026-05-07 18:48:43 +02:00
2026-05-07 18:34:49 +02:00
2026-05-07 18:34:49 +02:00
2026-05-07 20:05:45 +02:00
2026-05-07 20:05:45 +02:00
2026-05-07 18:39:16 +02:00
2026-05-07 18:39:16 +02:00
2026-05-07 20:05:45 +02:00
2026-05-07 20:05:45 +02:00
2026-05-07 18:08:56 +02:00
2026-05-07 18:08:56 +02:00
2026-05-07 18:08:56 +02:00
2026-05-07 17:45:33 +02:00
2026-05-07 19:12:23 +02:00
2026-05-07 19:12:23 +02:00
2026-05-07 19:12:23 +02:00
2026-05-07 19:12:23 +02:00
2026-05-07 17:45:33 +02:00
2026-05-09 12:40:06 +02:00
2026-05-09 12:40:06 +02:00
2026-05-09 12:40:06 +02:00
2026-05-09 12:40:06 +02:00
2026-05-09 12:40:06 +02:00
2026-05-09 12:40:06 +02:00
2026-05-09 12:40:06 +02:00
2026-05-09 18:33:01 +02:00
2026-05-09 18:59:15 +02:00
2026-05-09 18:51:39 +02:00
2026-05-09 21:07:58 +02:00
2026-05-09 17:50:29 +02:00
2026-05-09 17:45:27 +02:00
2026-05-09 18:07:52 +02:00
2026-05-09 18:07:52 +02:00
2026-05-09 18:59:15 +02:00
2026-05-09 18:51:39 +02:00
2026-05-09 18:18:12 +02:00
2026-05-09 19:07:46 +02:00
2026-05-09 17:59:10 +02:00
2026-05-09 19:19:44 +02:00
2026-05-09 17:54:20 +02:00
2026-05-09 19:19:44 +02:00
2026-05-09 21:21:33 +02:00
2026-05-09 19:19:44 +02:00
2026-05-09 19:19:44 +02:00
2026-05-09 19:19:44 +02:00
2026-05-09 20:59:43 +02:00
2026-05-09 21:36:15 +02:00
2026-05-09 21:36:15 +02:00
2026-05-09 20:52:07 +02:00
2026-05-09 21:28:41 +02:00
2026-05-09 20:52:07 +02:00
2026-05-09 21:21:33 +02:00
2026-05-09 21:36:15 +02:00
2026-05-09 21:36:15 +02:00
2026-05-09 22:41:18 +02:00
2026-05-07 23:00:23 +02:00
2026-05-07 23:00:23 +02:00
2026-05-07 11:31:57 +02:00
2026-05-07 11:23:21 +02:00
2026-05-07 11:31:57 +02:00
2026-05-07 11:31:57 +02:00