matrix-org
matrix-rust-sdk
BlogDocsChangelog

feat(sqlite): Replace `deadpool-sqlite` by our own implementation

#5841Merged
Comparing
Hywan:feat-sqlite-custom-pool-manager
(
eaec1db
) with
main
(
fff270d
)
CodSpeed Performance Gauge
+2%
Untouched
50

Benchmarks

Passed

Event cache find_event_relations[SQLite][10 events, #no filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
+15%
1.3 ms1.1 ms
Event cache find_event_relations[SQLite][10 events, edits filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
+14%
1.3 ms1.2 ms
Devices collecting [SQLite][2003 devices]
benchmarks/benches/crypto_bench.rs::benches::devices_missing_sessions_collecting::Devices missing sessions collecting
CodSpeed Performance Gauge
+13%
113 ms100.4 ms
Event cache find_event_relations[SQLite][100 events, edits filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
+11%
8.7 ms7.9 ms
Event cache find_event_relations[SQLite][100 events, #no filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
+11%
8.2 ms7.4 ms
Event cache find_event_relations[SQLite][1000 events, #no filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
+10%
78.9 ms72 ms
Event cache find_event_relations[SQLite][1000 events, edits filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
+9%
84.3 ms77.2 ms
Linked chunk metadata loader[sqlite store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
+6%
166 µs156.2 µs
Linked chunk lazy loader[sqlite store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
+5%
423.7 µs402.1 µs
Linked chunk metadata loader[sqlite store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
+4%
239.2 µs229 µs
Create a timeline with initial events[10000 events]
benchmarks/benches/timeline.rs::room::create_timeline_with_initial_events::Create a timeline
CodSpeed Performance Gauge
+3%
755 ms729.8 ms
Device keys query [SQLite][153 device and cross signing keys]
benchmarks/benches/crypto_bench.rs::benches::keys_query::Keys querying
CodSpeed Performance Gauge
+3%
40.1 ms38.9 ms
Linked chunk writing [memory store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
+3%
3.7 ms3.6 ms
Linked chunk lazy loader[sqlite store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
+2%
1.7 ms1.7 ms
Linked chunk writing [none][100]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
+1%
89 µs87.8 µs
Linked chunk lazy loader[memory store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
+1%
34.4 µs34 µs
Linked chunk writing [none][1000]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
+1%
832.9 µs823.7 µs
Linked chunk writing [memory store][10]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
+1%
53.2 µs52.7 µs
Linked chunk lazy loader[sqlite store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
+1%
15.6 ms15.4 ms
Linked chunk metadata loader[sqlite store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
+1%
1.2 ms1.1 ms
Linked chunk writing [none][10]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
+1%
15.9 µs15.8 µs
Linked chunk writing [memory store][100]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
+1%
362.2 µs359.5 µs
Linked chunk lazy loader[memory store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
+1%
2.4 ms2.4 ms
Event cache room updates[SQLite][room count: 1]
benchmarks/benches/event_cache.rs::event_cache::handle_room_updates::Event cache room updates
CodSpeed Performance Gauge
0%
42.2 ms42 ms
Linked chunk writing [sqlite store][100]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
0%
3 ms3 ms
Room key sharing [memory][163 devices]
benchmarks/benches/crypto_bench.rs::benches::room_key_sharing::Room key sharing
CodSpeed Performance Gauge
0%
46.9 ms46.8 ms
Device keys query [memory][153 device and cross signing keys]
benchmarks/benches/crypto_bench.rs::benches::keys_query::Keys querying
CodSpeed Performance Gauge
0%
27.6 ms27.6 ms
Event cache room updates[SQLite][room count: 10]
benchmarks/benches/event_cache.rs::event_cache::handle_room_updates::Event cache room updates
CodSpeed Performance Gauge
0%
445 ms444.2 ms
Linked chunk metadata loader[memory store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
0%
679.3 µs678.2 µs
Restore session [memory store]
benchmarks/benches/store_bench.rs::benches::restore_session::Client reload
CodSpeed Performance Gauge
0%
274.9 ms274.5 ms
Event cache room updates[memory][room count: 1]
benchmarks/benches/event_cache.rs::event_cache::handle_room_updates::Event cache room updates
CodSpeed Performance Gauge
0%
14.2 ms14.2 ms
Event cache room updates[SQLite][room count: 100]
benchmarks/benches/event_cache.rs::event_cache::handle_room_updates::Event cache room updates
CodSpeed Performance Gauge
0%
4.7 s4.7 s
Linked chunk writing [sqlite store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
0%
33.3 ms33.3 ms
Event cache room updates[memory][room count: 100]
benchmarks/benches/event_cache.rs::event_cache::handle_room_updates::Event cache room updates
CodSpeed Performance Gauge
0%
1.5 s1.5 s
Linked chunk writing [sqlite store][10]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
0%
587 µs586.7 µs
Event cache find_event_relations[memory][10 events, #no filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
0%
3.3 ms3.3 ms
Event cache find_event_relations[memory][1000 events, edits filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
0%
2.2 s2.2 s
Event cache find_event_relations[memory][1000 events, #no filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
0%
2.2 s2.2 s
Event cache room updates[memory][room count: 10]
benchmarks/benches/event_cache.rs::event_cache::handle_room_updates::Event cache room updates
CodSpeed Performance Gauge
0%
143.6 ms143.6 ms
Event cache find_event_relations[memory][100 events, #no filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
0%
46.9 ms46.9 ms
Event cache find_event_relations[memory][100 events, edits filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
0%
46.9 ms46.9 ms
Restore session [SQLite][encrypted]
benchmarks/benches/store_bench.rs::benches::restore_session::Client reload
CodSpeed Performance Gauge
0%
1.4 s1.4 s
Event cache find_event_relations[memory][10 events, edits filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
0%
3.3 ms3.3 ms
Create[1000 rooms × 1000 events]
benchmarks/benches/room_list.rs::room_list::create::RoomList
CodSpeed Performance Gauge
0%
30.7 ms30.7 ms
Devices collecting [memory][2003 devices]
benchmarks/benches/crypto_bench.rs::benches::devices_missing_sessions_collecting::Devices missing sessions collecting
CodSpeed Performance Gauge
0%
10.8 ms10.8 ms
Restore session [SQLite][clear]
benchmarks/benches/store_bench.rs::benches::restore_session::Client reload
CodSpeed Performance Gauge
0%
747.5 ms749.5 ms
Room key sharing [SQLite][163 devices]
benchmarks/benches/crypto_bench.rs::benches::room_key_sharing::Room key sharing
CodSpeed Performance Gauge
0%
57.5 ms57.7 ms
Linked chunk metadata loader[memory store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
-1%
19.7 µs19.9 µs
Linked chunk lazy loader[memory store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
-4%
185 µs192.4 µs
Linked chunk metadata loader[memory store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
-4%
5.6 µs5.8 µs

Commits

Click on a commit to change the comparison range
Base
main
fff270d
+2.14%
chore(sqlite): Remove `connection::Config`. This patch removes the `connection::Config` type. It was “inspired” from `deadpool_sqlite`, but we can clearly remove it by using our own `SqliteStoreConfig` type. It simplifies the way we open a database.
eaec1db
20 days ago
by Hywan
© 2025 CodSpeed Technology
Home Terms Privacy Docs