Skip to content

chore(example): benchmark app workloads and Drizzle - #470

Merged
chrispader merged 1 commit into
mainfrom
chore/benchmark-real-world
Oct 29, 2026
Merged

chrispader merged 1 commit into
mainfrom
chore/benchmark-real-world

Conversation

@chrispader

Copy link
Copy Markdown
Member

Most benchmark cases time one API call at a time on SQLite's default rollback journal, so the write cases mostly measure disk syncs. Apps usually turn on WAL, run several small async queries per screen, and often query through an ORM, but only the mixed case uses WAL and no case uses an ORM. This adds cases modeled on app workloads, all in WAL mode with synchronous = NORMAL, and cases for API calls the suite didn't cover. Existing cases keep their order and labels.

  • A chat app stores 500 synced messages in a transaction, opens the inbox and 10 conversations, scrolls back 6 pages, and launches 20 times. The sync and browse cases also run the same steps through Drizzle.
  • Key-value storage runs 900 reads and 100 writes of JSON values with synchronous calls.
  • A response cache persists and restores 200 JSON responses of 9 KB each, and a thumbnail cache writes and reads 120 BLOBs of 32 KB each. Both cases report each phase separately.
  • New API cases cover async point lookups, rows as arrays from executeRaw, and synchronous inserts inside one transaction.

🤖 Generated with Claude Code

Add WAL-mode cases modeled on app workloads: a chat app that stores
synced messages, browses its inbox and conversations, and launches,
plus key-value storage, a JSON response cache, and a BLOB thumbnail
cache. The chat sync and browse cases also run through Drizzle. Add
async point lookups, executeRaw arrays, and synchronous inserts in
one transaction.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
react-native-nitro-sqlite Skipped Skipped Oct 29, 2026 12:54pm UTC

Request Review

chrispader added a commit that referenced this pull request Oct 29, 2026
Port the app workload cases from #470: a chat app that stores synced
messages, browses its inbox and conversations, and launches, plus
key-value storage, a JSON response cache, a BLOB thumbnail cache,
async point lookups, and synchronous inserts in one transaction. The
Drizzle and executeRaw cases stay out because this branch has neither
API yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chrispader
chrispader merged commit c12b9a5 into main Oct 29, 2026
7 checks passed

This branch was previously deployed

1 inactive deployment
Preview — 92da1f04 Deployed Oct 29, 2026 by vercel[bot]
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