Skip to content

state: Batch store-opening metadata reads - #1493

Merged
abhinav merged 1 commit into
mainfrom
batch-store-open
Oct 26, 2026
Merged

abhinav merged 1 commit into
mainfrom
batch-store-open

Conversation

@abhinav

@abhinav abhinav commented Oct 26, 2026

Copy link
Copy Markdown
Owner

Opening repository state reads its version and repository metadata
separately, starting redundant Git processes on every command.
Load both records together and consume completed partial results when
the version is absent, retaining the legacy version-one default.
A missing repository record still identifies an uninitialized store.
Other storage failures end opening with their original cause and
backend key context; only missing-key errors permit using partial data.

On macOS arm64, paired immutable binaries compare this branch with its
actual parent, main at 83b7695, using identical real-Git fixtures.
Five samples of five openings alternate parent/candidate order.
Values are median milliseconds per opening; legacy stores omit version.

Workload Parent (ms/op) This branch (ms/op)
Current, 1 branch 29.34 18.77
Current, 100 branches 29.77 18.86
Legacy, 1 branch 20.34 18.68
Legacy, 100 branches 18.45 18.41

[skip changelog]: negligible improvement, not worth changleog

Opening repository state reads its version and repository metadata
separately, starting redundant Git processes on every command.
Load both records together and consume completed partial results when
the version is absent, retaining the legacy version-one default.
A missing repository record still identifies an uninitialized store.
Other storage failures end opening with their original cause and
backend key context; only missing-key errors permit using partial data.

On macOS arm64, paired immutable binaries compare this branch with its
actual parent, main at 83b7695, using identical real-Git fixtures.
Five samples of five openings alternate parent/candidate order.
Values are median milliseconds per opening; legacy stores omit version.

| Workload | Parent (ms/op) | This branch (ms/op) |
| --- | ---: | ---: |
| Current, 1 branch | 29.34 | 18.77 |
| Current, 100 branches | 29.77 | 18.86 |
| Legacy, 1 branch | 20.34 | 18.68 |
| Legacy, 100 branches | 18.45 | 18.41 |

[skip changelog]: negligible improvement, not worth changleog
@abhinav

abhinav commented Oct 26, 2026

Copy link
Copy Markdown
Owner Author

This change is part of the following stack:

Change managed by git-spice.

@abhinav
abhinav enabled auto-merge (squash) October 26, 2026 01:59
@abhinav
abhinav merged commit 336d990 into main Oct 26, 2026
22 checks passed
@abhinav
abhinav deleted the batch-store-open branch October 26, 2026 02:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant