[
{
"version": "v1",
"id": "drizzle-rs-libsql",
"display": {
"name": "Drizzle RS libSQL",
"description": "drizzle-rs select builder on every route via the async libSQL driver; file-backed temp database with journal_mode=WAL"
},
"group": "drizzle-rs",
"lang": "rust",
"runtime": {
"name": "rust",
"ver": "1.95.0"
},
"orm": {
"name": "drizzle-rs",
"ver": "0.1.15"
},
"driver": {
"name": "libsql",
"ver": "0.9.30",
"transport": "embedded"
},
"proc": {
"mode": "single",
"workers": 1
},
"pool": {
"max": 8,
"min": 1,
"acquire_ms": 50
},
"db": {
"profile": "sqlite",
"hash": "sha256:7bd4286ec47f86445e5ef9f6cc6357a27974cb8313766444fa5cbeff8eb83d43",
"prepared": true
},
"wire": {
"format": "json"
},
"fair": {
"family": "libsql",
"workers": 1,
"pool": 8,
"db": "sqlite",
"schema": "sha256:67d569fc52dca6de6f2747867f2e7abe8f4cc736f2c2454f9da5f6e78901759d",
"contract": "v1",
"tuning": "WAL journal, temp_store=MEMORY, read-only connections (query_only=ON), 64MiB page cache, 256MiB mmap"
},
"contract": {
"ver": "v1"
},
"server": {
"cmd": [
"$BENCH_RUNNER_BIN",
"serve"
]
},
"parity": {
"cmd": [
"$BENCH_RUNNER_BIN",
"parity"
]
},
"load": {
"cmd": [
"$BENCH_RUNNER_BIN",
"load"
]
},
"sql_variant": "drizzle-rs select builder on every route, including the employees self-join (table alias) and the GROUP BY aggregate on /orders-with-details — libSQL is real SQLite, so the query shapes are the rusqlite family's, not the turso family's Rust-side folding. PREPARED CAVEAT: libSQL exposes no connection-level statement cache (turso's prepare_cached has no libSQL equivalent), so `prepared` here means drizzle-rs's own single-slot MRU cache: consecutive executions of the same statement are reused, but alternating between two statements on one connection recompiles each time"
},
{
"version": "v1",
"id": "libsql-sqlite-prepared",
"display": {
"name": "libSQL SQLite (prepared)",
"description": "raw libSQL baseline using the shared SQLite schema with one statement compiled per call site per pooled connection; file-backed temp database with journal_mode=WAL"
},
"group": "libsql",
"lang": "rust",
"runtime": {
"name": "rust",
"ver": "1.95.0"
},
"orm": {
"name": "none",
"ver": "0"
},
"driver": {
"name": "libsql",
"ver": "0.9.30",
"transport": "embedded"
},
"proc": {
"mode": "single",
"workers": 1
},
"pool": {
"max": 8,
"min": 1,
"acquire_ms": 50
},
"db": {
"profile": "sqlite-prepared",
"hash": "sha256:7bd4286ec47f86445e5ef9f6cc6357a27974cb8313766444fa5cbeff8eb83d43",
"prepared": true
},
"wire": {
"format": "json"
},
"fair": {
"family": "libsql",
"workers": 1,
"pool": 8,
"db": "sqlite",
"schema": "sha256:67d569fc52dca6de6f2747867f2e7abe8f4cc736f2c2454f9da5f6e78901759d",
"contract": "v1",
"tuning": "WAL journal, temp_store=MEMORY, read-only connections (query_only=ON), 64MiB page cache, 256MiB mmap"
},
"contract": {
"ver": "v1"
},
"server": {
"cmd": [
"$BENCH_RUNNER_BIN",
"serve"
]
},
"parity": {
"cmd": [
"$BENCH_RUNNER_BIN",
"parity"
]
},
"load": {
"cmd": [
"$BENCH_RUNNER_BIN",
"load"
]
},
"sql_variant": "hand-written SQL; libSQL has no prepare_cached, so every statement is compiled once per pooled connection at startup and reused for the whole run. Same query shapes as the rusqlite baselines, including the GROUP BY aggregate on /orders-with-details"
},
{
"version": "v1",
"id": "libsql-sqlite-unprepared",
"display": {
"name": "libSQL SQLite (unprepared)",
"description": "raw libSQL baseline using the shared SQLite schema with direct query execution; file-backed temp database with journal_mode=WAL"
},
"group": "libsql",
"lang": "rust",
"runtime": {
"name": "rust",
"ver": "1.95.0"
},
"orm": {
"name": "none",
"ver": "0"
},
"driver": {
"name": "libsql",
"ver": "0.9.30",
"transport": "embedded"
},
"proc": {
"mode": "single",
"workers": 1
},
"pool": {
"max": 8,
"min": 1,
"acquire_ms": 50
},
"db": {
"profile": "sqlite-unprepared",
"hash": "sha256:7bd4286ec47f86445e5ef9f6cc6357a27974cb8313766444fa5cbeff8eb83d43",
"prepared": false
},
"wire": {
"format": "json"
},
"fair": {
"family": "libsql",
"workers": 1,
"pool": 8,
"db": "sqlite",
"schema": "sha256:67d569fc52dca6de6f2747867f2e7abe8f4cc736f2c2454f9da5f6e78901759d",
"contract": "v1",
"tuning": "WAL journal, temp_store=MEMORY, read-only connections (query_only=ON), 64MiB page cache, 256MiB mmap"
},
"contract": {
"ver": "v1"
},
"server": {
"cmd": [
"$BENCH_RUNNER_BIN",
"serve"
]
},
"parity": {
"cmd": [
"$BENCH_RUNNER_BIN",
"parity"
]
},
"load": {
"cmd": [
"$BENCH_RUNNER_BIN",
"load"
]
},
"sql_variant": "hand-written SQL through Connection::query, which compiles the statement on every call. Same query shapes as the rusqlite baselines, including the GROUP BY aggregate on /orders-with-details"
}
]