Performance notes: cold views after the oxy-core change 2d58f17e728b
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-09-28 14:24 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
2d58f17e728b4125bbd7b5d2be9c692536e336f53bd3b34dc56f0361b38b50df- Depends on
- 8d194f035eb6
- Depended on by
- nothing yet
- In bookmarks
- api-unknown-fields cancel-landed-runs clear-waiting close-proposal-140 diffusion-pin-bookmark draft-ready image-check job-waits main oh-comment-body-file proposal-list-fast run-one-job wiki-says-so
- In tags
- v0.1.0 v0.2.0 v0.3.0 v0.3.1 v0.4.0 v0.4.1 v0.4.2 v0.5.0 v0.5.1 v0.5.2 v0.6.0 v0.6.1 v0.7.0 v0.8.0 v0.9.0 v0.9.1 v0.9.11 v0.9.15 v0.9.16 v0.9.19 v0.9.2 v0.9.20 v0.9.21 v0.9.22 v0.9.23 v0.9.24 v0.9.3 v0.9.4 v0.9.5 v0.9.6 v0.9.7 v0.9.8 v0.9.9
- Edits
- 1 atom, 0 tree operations, 1 file
Browse the tree at this change
modified docs/performance.md +16 −0
| … | 29 unchanged lines |
||
| 30 | 30 | view. The first view of a file still pays the full cost once. |
|
| 31 | 31 | ||
| 32 | 32 | `?plain=1` downloads no longer compute the last change or the sidebar. |
|
| 33 | + | ||
| 34 | + | ## 2026-09-28: oxy-core history of a loaded state |
|
| 35 | + | ||
| 36 | + | `log_for_path_in` and `blame_in` rebuilt and rendered the whole state on |
|
| 37 | + | every call, and the log was built twice. oxy-core now has `log_of(state)`, |
|
| 38 | + | `log_for_path_of(state, path, limit)` (the path found in the tree alone, |
|
| 39 | + | stopping at `limit`) and `blame_of(state, tree, path)`, and the hub passes |
|
| 40 | + | the state it already holds. First views after a restart (every cache |
|
| 41 | + | empty, including the state cache): |
|
| 42 | + | ||
| 43 | + | | Page | Before any cache | Cold now | Warm | |
|
| 44 | + | |---|---:|---:|---:| |
|
| 45 | + | | `docs/spec.md` | 196 ms | 146 ms | 8 ms | |
|
| 46 | + | | `crates/oxy-core/src/repo/mod.rs` | 400 ms | 256 ms | 17 ms | |
|
| 47 | + | | `crates/oxy-core/src/state.rs` | 317 ms | 121 ms | 16 ms | |
|
| 48 | + | | `…/state.rs?blame=1` | 428 ms | 88 ms | 24 ms | |