From 1c028df397e28ebfe89803cca0cddc4e675a2b5f Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Thu, 13 Aug 2026 17:08:40 +0200 Subject: [PATCH] fine-tune layout of the time scales diagram MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - rearrange for better legibility - fix the "system call" by splitting in to bare overhead (300ns) vs real system call with cache hit (1µs) --- FrOSCon26/FrOSCon.26.mm | 19 +- FrOSCon26/drawings/time-scales.svg | 1786 ++++++++++++++++++++++++---- 2 files changed, 1566 insertions(+), 239 deletions(-) diff --git a/FrOSCon26/FrOSCon.26.mm b/FrOSCon26/FrOSCon.26.mm index 00c5690..4402c7f 100644 --- a/FrOSCon26/FrOSCon.26.mm +++ b/FrOSCon26/FrOSCon.26.mm @@ -1208,7 +1208,7 @@ - + @@ -1291,7 +1291,10 @@ - + + + + @@ -1568,8 +1571,7 @@ Funktioniert sogar, wenn man alle Slides der Animation auswählt

- - +
@@ -1584,8 +1586,7 @@ ...das würde zwar letztlich funktionieren, wenn man dann ab dem 2.Absatz alle auf "with previous" umschaltet .... ist aber irre unübersichtlich.  Verstehe nicht, warum er das manchmal macht (vielleicht, wenn man einzelne Absätze schon formatiert hat?)

- - +
@@ -1597,8 +1598,7 @@ Zwei Objekte markieren, Animation hinzufügen, dann Animation des 2. Objekts wieder löschen ⟹ Ergebnis: man bekommt die Animation auf den ganzen Frame, nicht einzelne Absätze

- -
+
@@ -1733,8 +1733,7 @@ - - + diff --git a/FrOSCon26/drawings/time-scales.svg b/FrOSCon26/drawings/time-scales.svg index 6a68cfe..debb857 100644 --- a/FrOSCon26/drawings/time-scales.svg +++ b/FrOSCon26/drawings/time-scales.svg @@ -1,230 +1,1558 @@ - - - - Time scales - ns to minutes, wrapped logarithmic - - Time scales - each row spans three decades - one row down = × 1000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 ns - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 µs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 ms - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 s - Order of magnitude only — contemporary desktop / laptop x86. Expect ± 2–3×; the ratios are the point. - - - - - 1 ns - L1 cache - - - 4 ns - L2 cache - - - 10 ns - full memory barrier - - - 15 ns - L3 cache - - - 100 ns - DRAM access - - - - 50-100 ns - contended cache line - - - ≈ 0.3 ns - 1 clock cycle - - - - - 1 µs - system call - - - 2 µs - context switch - - - 50 µs - OS timer slack - - - - 10-30 µs - thread wake-up - - - - 50-100 µs - SSD read - - - - - 10 ms - disk seek - - - 40 ms - one frame @ 25 fps - - - - - 10 ms - barely noticeable - - - 100 ms - UI feels sluggish - - - - - 1 s - “it’s thinking…” - - - 3 min - another coffee - - - ≈ 15 min - go do something else - - + + + + + + + + + Computing Time Scales + + + each row spans three decades + one row down = × 1000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 ns + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 µs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 ms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 s + Order of magnitude only — contemporary desktop / laptop x86. Expect factor 2–3×; the ratios are the point. + + + + + 1 ns + L1 cache + + + 4 ns + L2 cache + + + 10 ns + full memory barrier + + + 15 ns + L3 cache + + + 100 ns + DRAM access + + + + 50-100 ns + contended cache line + + + ≈ 0.3 ns + 1 clock cycle + + + + + 1 µs + system call overhead + + + + + + 1 µs + system call (read with cache hit) + + + 2 µs + context switch + + + 50 µs + OS timer slack + + + + 10-30 µs + thread wake-up + + + + 50-100 µs + SSD read + + + + + 10 ms + disk seek + + + 40 ms + one frame @ 25 fps + + + + + + 10 ms + barely noticeable + + + 100 ms + UI feels sluggish + + + + + 1 s + “it’s thinking…” + + + 3 min + another coffee + + + ≈ 15 min + do something else + + + + + Computing Time Scales + + ns to minutes, wrapped logarithmic axis + + + + + + + + + + +