Skip to content

perf: whole-file range read for DELETE tombstone markers - #373

Merged
MPCoreDeveloper merged 1 commit into
masterfrom
perf/marker-range-read
Sep 4, 2026
Merged

perf: whole-file range read for DELETE tombstone markers#373
MPCoreDeveloper merged 1 commit into
masterfrom
perf/marker-range-read

Conversation

@MPCoreDeveloper

Copy link
Copy Markdown
Owner

Wat\nTombstoneRecords leest het hele (<=32MB) .dat een keer voor batches van >=64 markers en resolvet elke recordlengte uit het buffer i.p.v. een pread per offset (per-marker pread domineerde de commit in profiling: ~50ms/10K). Per-offset reads blijven fallback voor grotere bestanden/kleine batches.\n\n## Meting (Release, DELETE 10K van ~100K rijen; median van 3)\nSQL ~53K -> ~57K ops/s; Direct ~69K -> ~87K ops/s.\n\n## Validatie\nFull suite (Debug) + Release/CI-filter op alle vier de suites: EXIT=0.

TombstoneRecords now reads the whole (<=32MB) file once for batches of >=64 markers and resolves each record length from the buffer instead of one pread per offset; the per-marker pread dominated the DELETE commit in profiling (~50ms/10K). Per-offset reads remain the fallback for larger files/small batches.

Measured (Release, comparative DELETE 10K of ~100K rows, median of 3): SQL ~53K -> ~57K ops/s, Direct ~69K -> ~87K ops/s.
@sonarqubecloud

sonarqubecloud Bot commented Sep 4, 2026

Copy link
Copy Markdown

@MPCoreDeveloper
MPCoreDeveloper merged commit 76cc725 into master Sep 4, 2026
13 checks passed
@MPCoreDeveloper
MPCoreDeveloper deleted the perf/marker-range-read branch September 4, 2026 05:01
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