Bench
Paneflow liefert Performance-Arbeit mit Zahlen statt Adjektiven. Jede Suite unten läuft auf einer committeten Baseline und auf dem neuesten Commit, auf derselben Maschine, über ein Skript aus dem Repository. Die Terminal-Pipeline macht den Anfang, weitere Suiten folgen.
- Baseline-Lauf4066faf01.09.2026, 20:42
- Lauf 10202d3901.09.2026, 20:49
- Neuester Lauf488661301.09.2026, 21:38
- Maschine
- AMD Ryzen 7 7800X3D, Windows 11, release profile
- Skript
- scripts/bench-terminal.sh
- Gemessene Commits
- e03972c5, 15d7fa5f
Terminal-Pipelineneuester Lauf gegen Baseline
64× weniger Aufwachvorgänge bei einem inaktiven Pane. Tastenecho 20× schneller veröffentlicht.
- Baseline-Lauf4066faf01.09.2026, 20:42
- Lauf 10202d3901.09.2026, 20:49
- Neuester Lauf488661301.09.2026, 21:38
- Maschine
- AMD Ryzen 7 7800X3D, Windows 11, release profile
- Skript
- scripts/bench-terminal.sh
- Gemessene Commits
- e03972c5, 15d7fa5f
Rangliste
- 1Aufwachen im Leerlauf, reine Anzeige-Pane98 % 64,0×
- 2Veröffentlichung beim Tastenecho, Pane 220×6095 % 20,0×
- 3Zeilentext lesen, Pane 220×6092 % 11,8×
- 4Aufwachen im Leerlauf, Shell am Prompt86 % 7,11×
- 5Publish-Gate bei tröpfelnder Ausgabe, pro 1k Chunks75 % 4,00×
- 6Durchsatz auf dem Korpus74 % 3,87×
- 7Basisschrift auflösen, pro Frame50 % 2,00×
- 8Veröffentlichung beim Scrollen, Pane 120×4050 % 1,98×
- 9Veröffentlichung beim Scrollen, Pane 220×6036 % 1,56×
- 10Layout-Durchlauf, Pane 220×609,9 % 1,11×
Alle Metriken
Von den PTY-Bytes bis zum Layout, das der Renderer zeichnet: Snapshot und Grid-Konvertierung beim Scrollen und beim Tastenecho, der fensterlose Layout-Durchlauf, die Lookups des Render-Threads in jedem Frame, das Publish-Pacing bei tröpfelnder Ausgabe, der Durchsatz auf dem Korpus und wie oft eine leerlaufende Pane aufwacht. Zeiten sind Mediane im Release-Profil, Allokationszahlen sind exakt.
In jeder Zelle steht die Baseline über dem neuesten Lauf: Hauptwert, p95, wo die Metrik einen hat, und Allokationen pro Iteration.
| Metrik | Wert | Änderung | p95 | Alloc/Iter. |
|---|---|---|---|---|
| Veröffentlichung beim Scrollen, Pane 220×60 | Baseline 700,7 µsNeuester Lauf 448,0 µs | -36,1 %1,56× | Baseline 863,6 µsNeuester Lauf 465,7 µs | Baseline 2,70 MiBNeuester Lauf 266 B |
| Veröffentlichung beim Tastenecho, Pane 220×60 | Baseline 166,0 µsNeuester Lauf 8,3 µs | -95,0 %20,0× | Baseline 196,2 µsNeuester Lauf 8,6 µs | Baseline 1,41 MiBNeuester Lauf 106 B |
| Veröffentlichung beim Scrollen, Pane 120×40 | Baseline 324,8 µsNeuester Lauf 163,8 µs | -49,6 %1,98× | Baseline 377,1 µsNeuester Lauf 169,8 µs | Baseline 1,02 MiBNeuester Lauf 242 B |
| Layout-Durchlauf, Pane 220×60 | Baseline 515,8 µsNeuester Lauf 464,9 µs | -9,9 %1,11× | Baseline 632,3 µsNeuester Lauf 481,3 µs | Baseline 164,8 KiBNeuester Lauf 164,8 KiB |
| Zeilentext lesen, Pane 220×60 | Baseline 7,1 µsNeuester Lauf 600 ns | -91,5 %11,8× | Baseline 9,1 µsNeuester Lauf 600 ns | Baseline 4,3 KiBNeuester Lauf 1,9 KiB |
| Basisschrift auflösen, pro Frame | Baseline 200 nsNeuester Lauf 100 ns | -50,0 %2,00× | Baseline 200 nsNeuester Lauf 100 ns | Baseline 152 BNeuester Lauf 0 B |
| Aktives Theme lesen, pro Frame | Baseline 100 nsNeuester Lauf 100 ns | +0,0 %1,00× | Baseline 100 nsNeuester Lauf 100 ns | Baseline 0 BNeuester Lauf 0 B |
| Publish-Gate bei tröpfelnder Ausgabe, pro 1k Chunks | Baseline 1k FramesNeuester Lauf 250 Frames | -75,0 %4,00× | k. A. | k. A. |
| Durchsatz auf dem Korpus | Baseline 0,2 MiB/sNeuester Lauf 0,9 MiB/s | +287,0 %3,87× | k. A. | Baseline 1,52 MiBNeuester Lauf 2,8 KiB |
| Aufwachen im Leerlauf, reine Anzeige-Pane | Baseline 64 Aufwachen/sNeuester Lauf 1 Aufwachen/s | -98,4 %64,0× | k. A. | k. A. |
| Aufwachen im Leerlauf, Shell am Prompt | Baseline 64 Aufwachen/sNeuester Lauf 9 Aufwachen/s | -85,9 %7,11× | k. A. | k. A. |