summaryrefslogtreecommitdiff
path: root/DESIGN
diff options
context:
space:
mode:
authorDirk Engling <erdgeist@erdgeist.org>2026-11-05 19:03:42 +0100
committerDirk Engling <erdgeist@erdgeist.org>2026-11-05 19:03:42 +0100
commit7e4b607f628982229315b99d1ac7462512ea710c (patch)
tree14f2fc88a50cc9c07d19692a7d818a04c9a2c8bd /DESIGN
parent3e926ca209e9ed7946d8287e579bdaff05f3c2b3 (diff)
Explain the cleaner exception in the wait mechanics
Diffstat (limited to 'DESIGN')
-rw-r--r--DESIGN3
1 files changed, 3 insertions, 0 deletions
diff --git a/DESIGN b/DESIGN
index d365fb5..eb8679e 100644
--- a/DESIGN
+++ b/DESIGN
@@ -46,6 +46,9 @@ every thread on every tick for the life of the process to catch something
46that happens once: at eight workers it doubled idle context switches, 255 to 46that happens once: at eight workers it doubled idle context switches, 255 to
47495 over thirty seconds. 47495 over thirty seconds.
48 48
49The cleaner is the exception, and waits on a pipe nobody reads. A poll
50timeout is an interval rather than a deadline, so no clock enters into it.
51
49Each binary is built in one compiler invocation. Without object files a build 52Each binary is built in one compiler invocation. Without object files a build
50cannot link objects compiled with different FEATURES, which was a real 53cannot link objects compiled with different FEATURES, which was a real
51failure mode. It costs incremental rebuilds, 0.075 seconds becoming 1.56. 54failure mode. It costs incremental rebuilds, 0.075 seconds becoming 1.56.