Benchmarks: the first flow-casfs measurements (refs #41) cd19603782bf
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-10-01 01:58 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
cd19603782bf31822efb1f3cf2bf965f8ce71daef9d317a2a9091ac27559990f- Depends on
- 1d360c91a289 e82591ec33a4
- Depended on by
- 3604179679eb
- In bookmarks
- agents-in-readme bare-hashes carried-not-removed carry-identical doctor-trust identical-sides keyless-tags main merge-remote-bookmark only-help-103 paths-for-resolutions-and-amend push-notes show-stat subrepo-pin-state switch-says
- In tags
- v0.10.0 v0.11.0 v0.2.0 v0.3.0 v0.3.1 v0.4.0 v0.4.1 v0.4.2 v0.4.3 v0.4.4 v0.4.5 v0.4.6 v0.5.0 v0.5.1 v0.6.0 v0.7.0 v0.8.0 v0.9.0
- Edits
- 1 atom, 0 tree operations, 1 file
Browse the tree at this change
modified docs/benchmarks.md +21 −0
| … | 699 unchanged lines |
||
| 700 | 700 | state index for the first time. Most of what remains in status is listing |
|
| 701 | 701 | the tree (about 135 ms), loading the index (about 60 ms) and starting up; |
|
| 702 | 702 | commit adds storing and recording with fsync (about 100 ms). |
|
| 703 | + | ||
| 704 | + | ### P5a: flow-casfs, a read-only FUSE mount of a state (2026-10-01, oxygenflow#21) |
|
| 705 | + | ||
| 706 | + | The first flow-casfs (single-threaded, fuser 0.16, no read-ahead) on the |
|
| 707 | + | Linux repository on Earth, with the H4 import and Flow jobs running (load |
|
| 708 | + | average 10 to 11), so the times are high: |
|
| 709 | + | ||
| 710 | + | | | | |
|
| 711 | + | |---|---:| |
|
| 712 | + | | mount (state from the index 284 ms, tree of 102 327 entries 40 ms) | 0.52 s | |
|
| 713 | + | | first read of MAINTAINERS (rendered) | 0.10 s | |
|
| 714 | + | | `ls -lR`, rendering every file one at a time | 201 s | |
|
| 715 | + | | full read afterwards (bytes in memory) | 0.77 s | |
|
| 716 | + | | full read, new mount, renderings cached on disk | 20.8 s | |
|
| 717 | + | | render cache on disk | 1.8 GB | |
|
| 718 | + | ||
| 719 | + | `diff -r` between the mount and the working copy finds no difference. To |
|
| 720 | + | reach the spec's targets: render in parallel and ahead of reads, take a |
|
| 721 | + | file added once and never edited straight from its text blob, keep sizes |
|
| 722 | + | in the render cache so a stat does not render, serve FUSE on several |
|
| 723 | + | threads, and read the state index lazily for a mount under 100 ms. |