Commit Graph

17 Commits

Author SHA1 Message Date
Jussi Saurio
26c0d72c25 perf/thrpt: add tracing 2025-09-15 14:25:18 +03:00
Pekka Enberg
dd06d2eb99 Merge 'add perf/throughput/rusqlite to workspace' from Pedro Muniz
Closes #3116
2025-09-15 14:24:13 +03:00
Pekka Enberg
877b28bcb3 perf/throughput/turso: Use 30 second busy timeout like in rusqlite 2025-09-15 13:57:58 +03:00
pedrocarlo
bd5dcd8d3c add timeout flag to throughput benchmark 2025-09-15 02:20:32 -03:00
pedrocarlo
3d265489dc modify semantics of busy_timeout to be more on par with sqlite 2025-09-15 02:20:32 -03:00
pedrocarlo
0586b75fbe expose function to set busy timeout duration 2025-09-15 02:20:32 -03:00
pedrocarlo
16e79ed508 slight adjustment in perf throughtput printing 2025-09-15 02:16:18 -03:00
pedrocarlo
cc48fa233b add perf/throughput/rusqlite to workspace 2025-09-14 18:29:03 -03:00
pedrocarlo
01a99f84a6 add perf/throughput/turso to workspace 2025-09-14 16:19:34 -03:00
Pekka Enberg
76a3c20a48 Merge 'perf/throughput/turso: Don't use spawn_blocking()' from Pekka Enberg
Let's just use normal spawn()

Reviewed-by: Preston Thorpe <preston@turso.tech>

Closes #3096
2025-09-14 17:55:44 +03:00
Pekka Enberg
a5f1bdbc9d Merge 'perf/throughput/turso: Don't interleave concurrent transactions in on…' from Pekka Enberg
…e connection
With BEGIN CONCURRENT, we cannot use the same connection all the time
because there's no way for the transaction manager to know which
transaction belongs to what "session" -- they're all individual
statements executed in the context of the one connection.
Fixes #3093

Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com>

Closes #3094
2025-09-14 11:33:20 +03:00
Pekka Enberg
ed8b02d83e perf/throughput/turso: Don't use spawn_blocking()
Let's just use normal spawn()
2025-09-14 11:32:17 +03:00
Pekka Enberg
6e9ba4c561 perf/throughput/turso: Don't interleave concurrent transactions in one connection
With BEGIN CONCURRENT, we cannot use the same connection all the time
because there's no way for the transaction manager to know which
transaction belongs to what "session" -- they're all individual
statements executed in the context of the one connection.

Fixes #3093
2025-09-14 10:52:56 +03:00
Pekka Enberg
98af9386e2 perf/throughput/turso: Don't execute futures serially
Looping through the futures means we're essentially executing them
serially.
2025-09-14 10:07:21 +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