Skip to content

perf: increase sync page size from 100 to 1000 records#3584

Draft
markovejnovic wants to merge 2 commits into
atuinsh:mainfrom
markovejnovic:perf/sync-page-size
Draft

perf: increase sync page size from 100 to 1000 records#3584
markovejnovic wants to merge 2 commits into
atuinsh:mainfrom
markovejnovic:perf/sync-page-size

Conversation

@markovejnovic

Copy link
Copy Markdown
Contributor

Summary

  • Add divan benchmark harness with push_batch benchmark covering batch sizes 1, 10, 100, and 1000
  • Increase record sync page size from 100 to 1000 (record/sync.rs), reducing HTTP round-trips per sync by 10×
  • Server default page_size is already 1100 (atuin-server/src/settings.rs:79), so 1000 is well within the accepted limit

Test plan

  • cargo check -p atuin-client compiles clean
  • cargo test -p atuin-client passes (sync tests don't exercise live sync)
  • cargo bench -p atuin-client --bench benchmarks -- push_batch runs all 4 batch sizes
  • Verify server accepts 1000-record batches in a real sync

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Fossier: Manual Review Requested

@markovejnovic is a new contributor. A maintainer should review this PR before merging.

Score Breakdown

Total Score: 50.0/100 | Confidence: 100% | Outcome: REVIEW

Signal Value Score Weight
account_age 3914 1.00 0.09
public_repos 85 1.00 0.05
contribution_history 96 0.48 0.05
follower_ratio 1.39 0.70 0.05
bot_signals False 0.50 0.04
open_prs_elsewhere 35 0.00 0.09
closed_prs_elsewhere 49 0.00 0.10
merged_prs_elsewhere 305 1.00 0.08
prior_interaction 0 0.00 0.08
activity_velocity 6 0.00 0.08
pr_content ... 1.00 0.08
commit_email marko@harmont.dev 0.80 0.04
pr_description ... 0.80 0.05
repo_stars 30470 0.30 0.04
org_membership 0 0.20 0.03
commit_verification ... 0.65 0.04
contributor_stars 25 0.50 0.04

Validates SQLite write performance at the new sync page size.
The old page size was 100; the new page size is 1000.
10× fewer HTTP round-trips per sync. The server default page_size
is 1100 (atuin-server/src/settings.rs:79), so 1000 is well within
the server's accepted limit.
@markovejnovic markovejnovic force-pushed the perf/sync-page-size branch from c1474f9 to 065e853 Compare July 8, 2026 00:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant