Skip to content

feat(bench): add SQLite pool benchmarks for #158#4356

Open
mmustafasenoglu wants to merge 3 commits into
transact-rs:mainfrom
mmustafasenoglu:feat/sqlite-pool-benchmarks
Open

feat(bench): add SQLite pool benchmarks for #158#4356
mmustafasenoglu wants to merge 3 commits into
transact-rs:mainfrom
mmustafasenoglu:feat/sqlite-pool-benchmarks

Conversation

@mmustafasenoglu

Copy link
Copy Markdown

Summary

Adds criterion benchmarks covering the core performance scenarios described in #158:

Benchmark Description
connect Establish a new SQLite connection
pool_checkout Acquire an idle connection from the pool
ping Ping an existing connection
query_small TechEmpower-style single-row query (3 columns)
query_large_10k Stream 10K rows with 5 columns (i32, i64, f64, String, BLOB)

Design

  • Uses in-memory SQLite — no external database required to run benchmarks.
  • Seeds 10,000 rows via a recursive CTE for the large-result benchmark.
  • Follows the existing benches/sqlite/describe.rs pattern (Criterion + async_tokio).
  • Registered in Cargo.toml as [[bench]] with harness = false.

Running

cargo bench --bench sqlite-simple --features sqlite

Closes #158

Adds criterion benchmarks for the core pool operations described in transact-rs#158:

- connect: Establish a new SQLite connection
- pool_checkout: Acquire an idle connection from the pool
- ping: Ping an existing connection
- query_small: TechEmpower-style single-row query (3 columns)
- query_large_10k: Stream 10K rows with 5 columns (i32, i64, f64, text, blob)

Uses in-memory SQLite so no external database is required.
Seeds 10,000 rows via a recursive CTE for the large-result benchmark.

Closes transact-rs#158
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.

Add benchmarks to inform performance-oriented refactoring

1 participant