docs(performance): round minimal frame allocations precisely
- commit
- c77cf3a520efaa5e77d34c339f2ea8748b8d528f
- author
- brice · · 2026-09-30 04:42 UTC
- parent
- 120730e
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· 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 | |||
| 68 | 68 | | Process RSS / PSS after 1,000 frames | 65 / 42 MiB | 59 / 40 MiB | | |
| 69 | 69 | | Baseline process RSS / PSS after 1,000 frames | 63 / 40 MiB | 60 / 41 MiB | | |
| 70 | 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 | 72 | | Baseline temporary allocations per rendered frame | about 61 KiB | about 238 KiB | | |
| 73 | 73 | ||
| 74 | 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. | |
| @@ -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. | ||