Skip to content

perf: keep fixed-width updates in place - #55

Merged
pathscale merged 2 commits into
masterfrom
pr54-update-perf
Aug 5, 2026
Merged

perf: keep fixed-width updates in place#55
pathscale merged 2 commits into
masterfrom
pr54-update-perf

Conversation

@pathscale

Copy link
Copy Markdown
Owner

Summary

  • stack directly on PR fix: revalidate vacuum links after row locking #54
  • keep unindexed fixed-width field updates on the archived in-place path even when unrelated String columns make the row unsized
  • remove unused UUID-v7 operation IDs from generated non-persistent update paths
  • add deterministic codegen coverage and WTI/Congee/Arctic runtime coverage

Diagnosis

On PR #54 head, the supplied 10,000-operation probe measured:

  • fresh insert: 17.99 ms
  • old balance update: 45.66 ms (2.54x insert)
  • old update after removing unused UUID generation: 34.20 ms (1.87x insert)
  • corrected in-place update: 5.71 ms (0.30x insert)
  • explicit delete plus insert: 33.97 ms

The delete-plus-insert result confirms that the old fixed-width update was accidentally taking the full-row reinsert path plus extra update bookkeeping.

Targeted validation

  • codegen guard passed
  • fixed-width update on an unsized row passed on WorkTablesIndex, Congee, and Arctic
  • temporary wall-clock probes were removed and are not CI tests

Broader validation is deferred until the PR #54 CI repair is folded in.

Base automatically changed from fix/beta5-versioned-vacuum to master August 5, 2026 06:12
@pathscale
pathscale merged commit 7d17146 into master Aug 5, 2026
@pathscale
pathscale deleted the pr54-update-perf branch August 5, 2026 06:12
pathscale pushed a commit that referenced this pull request Aug 5, 2026
Vacuum stale-link revalidation (#54) + fixed-width in-place update fix (#55):
single-column updates on String-bearing tables now swap archived fields in
place instead of full-row reinsert (~8x faster), and the unused per-update
UUIDv7 is elided on non-persistent tables.
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