Tags and Properties for Check-in 4829f043b1
- branch=fix-148-prefix-lookup propagates to descendants
- closed added by [bac4d5c04c] on 2026-08-25 19:05:28
- sym-fix-148-prefix-lookup propagates to descendants
- sym-trunk cancelled
Context
|
2026-08-25
| ||
| 19:05 | • Edit [4829f043b1]: Mark "Closed". artifact: bac4d5c04c user: dmestas | |
| 18:30 |
logstore: answer a byte-aligned name prefix from the sorted directory
A complete SHA-1 name is shorter than max_hash_len, so it missed the full-width fast path and fell to the O(store) hex scan -- once per file under `ls --size` and `ls --long`. On tcl's tip the 545 SHA-1 named files cost ~54ms each against ~0.2ms for the 1,653 SHA3 ones. The directory is ordered by raw digest, so a prefix's matches form one contiguous run. A binary search for the run plus a walk of it proves uniqueness rather than assuming it, which is what the SHA-1 case was surrendered to the scan for. Odd-length prefixes end mid-byte and keep the scan. ls --size on tcl: 1.98s -> 0.03s. Issue #148. closed check-in: 4829f043b1 user: dmestas tags: fix-148-prefix-lookup | |