Overview
| Comment: | log for a path reads each sub-manifest node through the walk's plaintext cache and parses only the line that decides the descent, so a one-shot log of 20 versions on a 42k-file tree store costs about 3 ms instead of 11 |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
5aea2fedb99626e5e98cb71e2d6ee277 |
| User & Date: | dmestas on 2026-11-07 13:22:37.312 |
| Other Links: | manifest | tags |
Context
|
2026-11-07
| ||
| 16:06 | The log index and the file-history index check their contents in 4 KiB blocks as a call reads them, behind a header and block table checked at open, so an open no longer checksums whole files; a damaged block is repaired from the log, and a log that cannot be rescanned fails as an unreadable store; the file index gains a path table so a lookup bisects check-in: b377071cb2 user: dmestas tags: trunk | |
| 13:22 | log for a path reads each sub-manifest node through the walk's plaintext cache and parses only the line that decides the descent, so a one-shot log of 20 versions on a 42k-file tree store costs about 3 ms instead of 11 check-in: 5aea2fedb9 user: dmestas tags: trunk | |
| 12:29 | A diff between two check-ins walks both trees together and skips every sub-manifest both share by hash, so a one-file diff on a 42k-file tree store costs about 3 ms instead of 83; used by diff, the daemon's diff and timeline -v check-in: 3d9d26ef9b user: dmestas tags: trunk | |
Changes
Modified src/artifact.zig
from [ed454c95ca]
to [a54e1722c7].
[diff]
Modified src/artifact_test.zig
from [4699e0d1f1]
to [ecb40ec697].
[diff]
Modified src/cmd/history.zig
from [d815cdc581]
to [f32f74311c].
[diff]
Modified src/core/filelog.zig
from [4c44d9ab94]
to [cc5b1a7ef5].
[diff]
Modified src/e2e.zig
from [0dc6fd7bc8]
to [7275785460].
[diff]
Modified src/main.zig
from [c46468ad8c]
to [eface882be].
[diff]
Modified src/repository.zig
from [7eba1527d5]
to [57f5eb6d8b].
[diff]