Levy A.
5acd7a5ea8
side by side comparison with sqlite
2025-01-31 03:11:07 -03:00
Pekka Enberg
7967cc5efc
core: Kill Rows wrapper struct
...
It's just an useless wrapper, kill it.
2025-01-26 16:27:19 +02:00
Jorge Hermo
15f7928551
chore: enable all features in clippy ci and fix more clippy lints
2025-01-15 23:23:12 +01:00
Jussi Saurio
f0b3bac435
add new more complex benchmark entry for preparing statement
2025-01-05 13:51:56 +02:00
Pekka Enberg
f2ecebc357
Rename RowResult to StepResult
...
The name "row result" is confusing because it really *is* a result from
a step() call. The only difference is how a row is represented as we
return from VDBE or from a statement.
Therefore, rename RowResult to StepResult.
2024-12-27 10:20:41 +02:00
Pere Diaz Bou
93e3b49f08
bench
2024-12-25 00:25:23 +01:00
Pekka Enberg
e93ac38e55
Add statement interruption support
...
This adds an interrupt() method to Statement that allows apps to
interrupt a running statement. Please note that this is different from
`sqlite3_interrupt()` which interrupts all ongoing operations in a
database. Although we want to support that too, per statement interrupt
is much more useful to apps.
2024-12-19 12:30:32 +02:00
jussisaurio
b6e88ca883
cargo clippy --fix --allow-dirty && cargo fmt
2024-09-15 09:35:39 +03:00
Pekka Enberg
31308f3699
core: Switch SQLite to use locking_mode EXCLUSIVE
...
Let's switch the SQLite benchmarks to use similar file locking protocol
as we do. Improves SQLite's performance by 2x, but Limbo is still
faster.
Before:
rusqlite/Prepare statement: 'SELECT * FROM users LIMIT 1'
time: [2.1027 µs 2.1239 µs 2.1563 µs]
thrpt: [463.75 Kelem/s 470.83 Kelem/s 475.57 Kelem/s]
After:
rusqlite/Execute prepared statement: 'SELECT * FROM users LIMIT 1'
time: [940.07 ns 944.16 ns 949.39 ns]
thrpt: [1.0533 Melem/s 1.0591 Melem/s 1.0638 Melem/s]
2024-08-03 21:13:50 +03:00
Brayan Jules
78568a53e3
fix format issues
2024-07-24 21:09:36 -04:00
Brayan Jules
529770bf32
bench: fix db lock on benchmark code by splitting the scopes between limbo and rusqlite.
2024-07-24 20:48:17 -04:00
Joan Martinez
dd34a4c045
bench: fix compilation
2024-07-22 11:42:25 +02:00
jussisaurio
40aa081ec2
Conditionally disable rusqlite benchmark
2024-07-17 11:52:17 +03:00
Pekka Enberg
7fa8f5c62e
Add benchmarks for prepare()
2024-07-16 08:44:49 +03:00
Raminder Singh
e4a9c5ce6e
fix clippy warnings
2024-07-14 16:50:54 +05:30
Pekka Enberg
1d4850df37
Fix invalid database path
2024-06-29 17:36:36 +03:00
Pekka Enberg
cc101b1b00
Use larger and more realistic database for testing
2024-06-29 10:03:11 +03:00
Pere Diaz Bou
377073e158
core: I/O write path
2024-06-19 21:26:40 +03:00
Pekka Enberg
ba1ed2ec09
Run I/O loop in benchmarks
...
Fixes #50
2024-06-08 08:43:15 +03:00
Pekka Enberg
7232683dfe
core: Fix benchmark
2024-05-08 11:13:29 -03:00
Pekka Enberg
9098744a37
Rename to Limbo
2023-09-30 15:40:35 +03:00
Pekka Enberg
29a6c6b877
Fix benchmark compilation
2023-09-09 10:24:08 +03:00
Pekka Enberg
4a5c71ab7a
I/O interface refactoring
2023-09-09 10:22:26 +03:00
Pekka Enberg
49c19b55ab
Unify sync I/O
2023-09-08 20:27:32 +03:00
Pekka Enberg
9b268dcc6f
Compare performance to rusqlite
2023-09-02 21:22:38 +03:00
Pekka Enberg
9d2e7c89d7
Page cache
2023-09-02 19:32:49 +03:00
Pekka Enberg
0aca6a9caf
Improve micro-benchmarks
2023-09-02 19:24:24 +03:00
Pekka Enberg
d33b70e3a8
Fix benchmark group name
2023-09-02 14:00:13 +03:00
Pekka Enberg
37baae3ed7
Benchmark
2023-09-02 13:43:07 +03:00