Commit Graph

9 Commits

Author SHA1 Message Date
pedrocarlo
aabc7b87a4 perf/throughput force sqlite to use fullfsync 2025-10-14 15:50:45 -03:00
Pekka Enberg
d5c49c17c7 perf/throughput: Delete database before benchmark run
Let's reduce variance between benchmark runs by starting with an empty
database.
2025-10-07 09:57:08 +03:00
Pekka Enberg
63895dfecd perf/throughput: Simplify benchmark output to CSV format
Remove verbose output from rusqlite benchmark and output only CSV
format: system,threads,batch_size,compute,throughput

This makes it easier to parse and plot benchmark results.
2025-10-01 11:06:27 +03:00
Pekka Enberg
eeb14b25c6 perf/throughput: Replace think time with CPU-bound compute time
Replace the sleep-based --think parameter with a --compute parameter
that uses a busy loop to simulate realistic CPU or GPU bound business
logic (e.g., parsing, data aggregation, or ML inference). The compute
time is now specified in microseconds instead of milliseconds for
finer granularity.
2025-10-01 11:06:27 +03:00
pedrocarlo
3c91ae206b move as many dependencies as possible to workspace to avoid multiple versions of the same dependency 2025-09-15 17:19:36 -03:00
pedrocarlo
cc48fa233b add perf/throughput/rusqlite to workspace 2025-09-14 18:29:03 -03:00
Pekka Enberg
0fad30a30d perf/throughput/turso: Async transactions with concurrent mode
With `BEGIN CONCURRENT`, we should also take advantage of async
transaction processing to maximize concurrency.
2025-09-13 13:25:16 +03:00
Pekka Enberg
8dc2e738a4 core/throughput: Add per transaction think time support 2025-09-13 13:02:43 +03:00
Pekka Enberg
964dd0cd43 perf: Add simple throughput benchmark
This adds a simple throughput benchmark for rusqlite and Turso, allowing
to compare the two, but also MVCC and SQLite transactions.
2025-09-12 07:35:57 +03:00