From ce19ee615cf3151e3cdde4b1e25319e29c1da895 Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Sat, 26 Sep 2026 14:43:28 +0700 Subject: [PATCH] Performance work waits while design comes first. --- TODO.org | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/TODO.org b/TODO.org index df3cdf13..fe41a8d5 100644 --- a/TODO.org +++ b/TODO.org @@ -773,7 +773,8 @@ One spelling for one operation; != stays, and not= is refused with a suggestion of !=. * Checker -** TODO Checking a wide fold of let operands is slow +** WAIT Checking a wide fold of let operands is slow +Parked 2026-09-26: design first; remeasure on a quiet machine, it was timed under load 20. A 2000-operand (bit-and (let …) …) takes 32 s to check (37 s before the bit operators); 2000 plain names take 0.03 s. Something per operand is quadratic or worse. @@ -1577,7 +1578,8 @@ are a dyn vector, except numbers with no common type, which are refused. Rules out the first element typing the rest. * Dev loop -** TODO --dev bookkeeping per temp allocation grows without free-temp +** WAIT --dev bookkeeping per temp allocation grows without free-temp +Parked 2026-09-26: design first. Under --dev each temp allocation (i64->bytes, dyn text crossing into str) costs about 340 bytes of registry notes until free-temp; a loop passing dyn text as str 4M times without free-temp reaches 2.7 GB. Release stays flat. A CLI that never frees temp hits it. @@ -2098,6 +2100,9 @@ default is left alone. Rules out relabelling a note as a warning to make it navigable. * Docs and the repository +** WAIT dune test runs slowly and is not grouped by module +Parked 2026-09-26: design first. Time each test by CPU on a quiet machine, speed up the +slowest ten, and group tests under per-module aliases so a lane runs only its own. ** DONE The reference page says what the language is CLOSED: [2026-09-21]