Skip to content

hissqlite: batch writes during a HIS_INCORE bulk rebuild#352

Closed
kev009 wants to merge 1 commit into
InterNetNews:mainfrom
kev009:hissqlite-batch
Closed

hissqlite: batch writes during a HIS_INCORE bulk rebuild#352
kev009 wants to merge 1 commit into
InterNetNews:mainfrom
kev009:hissqlite-batch

Conversation

@kev009

@kev009 kev009 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Reuse HIS_INCORE, which makehistory passes and which hisv6 used for sole writer rebuilds.

hissqlite's writes autocommit (one implicit transaction per HISwrite where nnd and the in-place expire interleave on the WAL write lock without starving each other using this contract).

That per-transaction cost dominates bulk loading though: makehistory rebuilds 2-3x faster in my benchmarking with this similar to hissqlite-convert which also uses similar batch logic and reasoning.

Reuse HIS_INCORE, which makehistory passes and which hisv6 used for
sole writer rebuilds.

hissqlite's writes autocommit (one implicit transaction per HISwrite)
innd and the in-place expire interleave on the WAL write lock without
starving each other using this contract.

That per-transaction cost dominates bulk loading though: makehistory
rebuilds 2-3x faster in my benchmarking with this similar to
hissqlite-convert which also uses similar batch logic and reasoning.
@Julien-Elie Julien-Elie self-assigned this Jul 14, 2026
@Julien-Elie Julien-Elie added enhancement New feature or request C: history Related to history P: low Low priority labels Jul 14, 2026
@Julien-Elie Julien-Elie added this to the 2.8.0 milestone Jul 14, 2026
@Julien-Elie

Copy link
Copy Markdown
Contributor

A useful enhancement. Thanks for it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C: history Related to history enhancement New feature or request P: low Low priority

Development

Successfully merging this pull request may close these issues.

2 participants