The backlog 4 baseline against Git on the Linux tree e4b8bcf04a86
refs #41
- Author
- Andy McCall @andymccall <[email protected]>
- When
- · 2026-09-30 20:52 UTC
- Signature
- ✔ signed by Andy McCall
- Hash
e4b8bcf04a868996db3527329e593f19e4932f9f668b6d03add86e8a48073e6c- Depends on
- 1d360c91a289 60622d23b9e4 61e9ad6ddc2d
- Depended on by
- bd9414401fdc
- 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
- 4 atoms, 0 tree operations, 2 files
Browse the tree at this change
modified docs/backlog-overnight-4.md +3 −1
| … | 56 unchanged lines |
||
| 57 | 57 | ||
| 58 | 58 | ## Speed |
|
| 59 | 59 | ||
| 60 | - | - [ ] B0 **Baseline.** Update `~/bench/linux-bench.sh` for today's build (the |
|
| 60 | + | - [x] B0 **Baseline.** Update `~/bench/linux-bench.sh` for today's build (the |
|
| 61 | 61 | state index, the manifest cache, clean and dirty status, diff, commit, |
|
| 62 | 62 | log, blame, checkout, a local clone, fsck, gc, store size) with three runs |
|
| 63 | 63 | each and oxy and Git alternating. Record the table in `docs/benchmarks.md`. |
|
| … | 50 unchanged lines |
||
| 114 | 114 | ||
| 115 | 115 | - 2026-09-30 Backlog written from the day's measurements (state index, |
|
| 116 | 116 | changed-only builds and the manifest cache already in). |
|
| 117 | + | ||
| 118 | + | - 2026-09-30 **B0** baseline (table in `docs/benchmarks.md`; `linux-bench.sh` now runs three of each, alternating, plus a local clone; the loop-3 script is kept as `linux-bench.sh.loop3`). oxy is ahead on the first commit (33.3 s against 38.2 s) and gc (48 s against 100 s); clean status is close (0.43 to 0.53 s against 0.34 to 0.46 s). Behind: dirty status and diff (1.5 to 2.2 s against 0.3 to 0.8 s), commit (2.5 to 3.1 s against 0.4 to 0.5 s), log (0.9 s against 0.00 s), blame (1.0 s against 0.07 s), checkout (3 s against 0.4 to 0.5 s), fsck (24 s against 13 s), and a new gap: a local clone takes 56 s and 3.3 GB against Git's 18 s. The store after gc is 375 MB (it now includes the 48 MB state index) against 295 MB. |
modified docs/benchmarks.md +29 −0
| … | 597 unchanged lines |
||
| 598 | 598 | | diff | 2.93 s | 1.19 to 1.45 s | 0.16 to 0.25 s | |
|
| 599 | 599 | | status, clean | 0.68 to 0.76 s | 0.41 to 0.43 s | 0.26 to 0.32 s | |
|
| 600 | 600 | ||
| 601 | + | ### Baseline for backlog 4 (2026-09-30 21:43, oxygen#41) |
|
| 602 | + | ||
| 603 | + | `~/bench/linux-bench.sh`, now with three runs of each everyday command, |
|
| 604 | + | oxy and Git alternating, and a local clone. Earth's load average was 7.2 |
|
| 605 | + | at the start (no Flow jobs running), falling during the run; the first run |
|
| 606 | + | of each set is the noisiest. |
|
| 607 | + | ||
| 608 | + | | Operation | oxy | Git | |
|
| 609 | + | |---|---:|---:| |
|
| 610 | + | | init and commit the tip | **33.3 s**, 3.1 GB | 38.2 s, 42 MB | |
|
| 611 | + | | status, clean | 0.43 to 0.53 s, 75 MB | 0.34 to 0.46 s | |
|
| 612 | + | | status, one file | 1.73 to 1.81 s (3.36 s first), 375 MB | 0.36 to 0.65 s | |
|
| 613 | + | | diff, one file | 1.77 to 2.24 s | 0.24 to 0.29 s | |
|
| 614 | + | | commit, one file | 3.10 s | 0.41 s | |
|
| 615 | + | | status, 1 000 files | 1.62 s (4.21 s first), 573 MB | 0.28 to 0.38 s | |
|
| 616 | + | | diff, 1 000 files | 1.54 to 2.40 s | 0.59 to 0.81 s | |
|
| 617 | + | | commit, 1 000 files | 2.47 s | 0.53 s | |
|
| 618 | + | | log -n 100 | 0.86 to 1.03 s | 0.00 s | |
|
| 619 | + | | blame MAINTAINERS | 0.99 to 1.04 s | 0.07 s | |
|
| 620 | + | | clone, local path | 56.3 s, 3.3 GB | 18.4 s | |
|
| 621 | + | | checkout the first state, and back | 2.86 s, 3.00 s | 0.39 s, 0.50 s | |
|
| 622 | + | | fsck | 24.4 s, 773 MB | 12.8 s | |
|
| 623 | + | | gc | **48.1 s** | 100.5 s | |
|
| 624 | + | | store before and after gc | 465 MB, 375 MB | 648 MB, 295 MB | |
|
| 625 | + | ||
| 626 | + | oxy is now ahead of Git on the first commit (33 s against 38 s) and on gc |
|
| 627 | + | (48 s against 100 s). The store after gc grew from 324 MB because it now |
|
| 628 | + | includes the workspace's state index. |
|
| 629 | + |