detached c77cf3a

docs(performance): round minimal frame allocations precisely

commit
c77cf3a520efaa5e77d34c339f2ea8748b8d528f
author
brice · · 2026-09-30 04:42 UTC
parent
120730e
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
1 file · +1 -1
M docs/performance.md +1 -1
@@ -68,7 +68,7 @@ An external Go module with minimal-counter and demo views, a 960×640 window at
6868 | Process RSS / PSS after 1,000 frames | 65 / 42 MiB | 59 / 40 MiB |
6969 | Baseline process RSS / PSS after 1,000 frames | 63 / 40 MiB | 60 / 41 MiB |
7070 | GPU VRAM / GTT with three buffers, current and baseline | 41 / 4 MiB | 41 / 4 MiB |
71-| Temporary allocations per rendered frame | about 36 KiB | about 136 KiB |
71+| Temporary allocations per rendered frame | about 35.5 KiB | about 136 KiB |
7272 | Baseline temporary allocations per rendered frame | about 61 KiB | about 238 KiB |
7373
7474 Heap/RSS/PSS use the default Go profiling rate. Allocation figures use separate `GODEBUG=memprofilerate=1` runs: subtract cumulative profiles at frames 1 and 1,000, exclude stacks containing the measurement sampler or `runtime/pprof`, sum the remaining flat allocated bytes, then divide by 999 frames. These runs recorded about **41–43% less allocation churn** than the baseline. They do not demonstrate an equivalent reduction in RSS or frame latency. Single-run process-memory values vary with runtime and driver behavior.
@@ -68,7 +68,7 @@ An external Go module with minimal-counter and demo views, a 960×640 window at
68 | Process RSS / PSS after 1,000 frames | 65 / 42 MiB | 59 / 40 MiB |68 | Process RSS / PSS after 1,000 frames | 65 / 42 MiB | 59 / 40 MiB |
69 | Baseline process RSS / PSS after 1,000 frames | 63 / 40 MiB | 60 / 41 MiB |69 | Baseline process RSS / PSS after 1,000 frames | 63 / 40 MiB | 60 / 41 MiB |
70 | GPU VRAM / GTT with three buffers, current and baseline | 41 / 4 MiB | 41 / 4 MiB |70 | GPU VRAM / GTT with three buffers, current and baseline | 41 / 4 MiB | 41 / 4 MiB |
71-| Temporary allocations per rendered frame | about 36 KiB | about 136 KiB |71+| Temporary allocations per rendered frame | about 35.5 KiB | about 136 KiB |
72 | Baseline temporary allocations per rendered frame | about 61 KiB | about 238 KiB |72 | Baseline temporary allocations per rendered frame | about 61 KiB | about 238 KiB |
73 73
74 Heap/RSS/PSS use the default Go profiling rate. Allocation figures use separate `GODEBUG=memprofilerate=1` runs: subtract cumulative profiles at frames 1 and 1,000, exclude stacks containing the measurement sampler or `runtime/pprof`, sum the remaining flat allocated bytes, then divide by 999 frames. These runs recorded about **41–43% less allocation churn** than the baseline. They do not demonstrate an equivalent reduction in RSS or frame latency. Single-run process-memory values vary with runtime and driver behavior.74 Heap/RSS/PSS use the default Go profiling rate. Allocation figures use separate `GODEBUG=memprofilerate=1` runs: subtract cumulative profiles at frames 1 and 1,000, exclude stacks containing the measurement sampler or `runtime/pprof`, sum the remaining flat allocated bytes, then divide by 999 frames. These runs recorded about **41–43% less allocation churn** than the baseline. They do not demonstrate an equivalent reduction in RSS or frame latency. Single-run process-memory values vary with runtime and driver behavior.

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 12

↑↓ moveenter openesc close