matrix-org
matrix-rust-sdk
BlogDocsChangelog

change(notification_client): use cross process locking event and media stores instead of in-memory ones

#5934
Comparing
stefan/notificationClientCrossProcessLockingStores
(
a0fca8a
) with
main
(
11d4305
)
CodSpeed Performance Gauge
0%
Untouched
50

Benchmarks

Passed

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%
748.3 ms729.9 ms
Linked chunk writing [memory store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
+1%
3.5 ms3.5 ms
Create[1000 rooms × 1000 events]
benchmarks/benches/room_list.rs::room_list::create::RoomList
CodSpeed Performance Gauge
+1%
6.1 ms6.1 ms
Linked chunk writing [memory store][100]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
0%
354.1 µs353.4 µs
Devices collecting [SQLite][2003 devices]
benchmarks/benches/crypto_bench.rs::benches::devices_missing_sessions_collecting::Devices missing sessions collecting
CodSpeed Performance Gauge
0%
99.7 ms99.5 ms
Linked chunk writing [none][100]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
0%
88.9 µs88.8 µs
Linked chunk writing [none][10]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
0%
16 µs16 µs
Linked chunk lazy loader[sqlite store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
0%
1.7 ms1.7 ms
Linked chunk lazy loader[sqlite store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
0%
396.7 µs396.3 µs
Restore session [SQLite][encrypted]
benchmarks/benches/store_bench.rs::benches::restore_session::Client reload
CodSpeed Performance Gauge
0%
1.3 s1.3 s
Linked chunk lazy loader[memory store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
0%
2.4 ms2.4 ms
Restore session [memory store]
benchmarks/benches/store_bench.rs::benches::restore_session::Client reload
CodSpeed Performance Gauge
0%
268.3 ms268.2 ms
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.2 ms3.2 ms
Linked chunk writing [sqlite store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
0%
33.2 ms33.2 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%
45.5 ms45.5 ms
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 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][100 events, edits filter]
benchmarks/benches/event_cache.rs::event_cache::find_event_relations::Event cache room updates
CodSpeed Performance Gauge
0%
45.5 ms45.5 ms
Linked chunk writing [none][1000]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
0%
832.5 µs832.7 µs
Linked chunk writing [sqlite store][100]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
0%
3 ms3 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.6 s1.6 s
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.9 s4.9 s
Linked chunk writing [sqlite store][10]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
0%
585.8 µs586 µs
Restore session [SQLite][clear]
benchmarks/benches/store_bench.rs::benches::restore_session::Client reload
CodSpeed Performance Gauge
0%
714.7 ms715 ms
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.2 ms3.2 ms
Linked chunk metadata loader[sqlite store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
0%
1.1 ms1.1 ms
Linked chunk metadata loader[sqlite store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
0%
155.2 µs155.3 µs
Device keys query [SQLite][153 device and cross signing keys]
benchmarks/benches/crypto_bench.rs::benches::keys_query::Keys querying
CodSpeed Performance Gauge
0%
38.7 ms38.7 ms
Linked chunk writing [memory store][10]
benchmarks/benches/linked_chunk.rs::event_cache::writing::Linked chunk writing
CodSpeed Performance Gauge
0%
52.4 µs52.5 µs
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
0%
965.9 µs967.2 µs
Linked chunk lazy loader[memory store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
0%
191.3 µs191.6 µs
Linked chunk lazy loader[sqlite store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
0%
15 ms15.1 ms
Linked chunk metadata loader[sqlite store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
0%
228.4 µs228.8 µs
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.5 ms27.5 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
0%
6.9 ms6.9 ms
Room key sharing [memory][163 devices]
benchmarks/benches/crypto_bench.rs::benches::room_key_sharing::Room key sharing
CodSpeed Performance Gauge
0%
46.7 ms46.8 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%
43 ms43.1 ms
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%
154.1 ms154.6 ms
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
0%
910.7 µs914 µs
Devices collecting [memory][2003 devices]
benchmarks/benches/crypto_bench.rs::benches::devices_missing_sessions_collecting::Devices missing sessions collecting
CodSpeed Performance Gauge
0%
10.7 ms10.7 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%
456.1 ms458 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
0%
7.3 ms7.4 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
0%
72.4 ms72.7 ms
Room key sharing [SQLite][163 devices]
benchmarks/benches/crypto_bench.rs::benches::room_key_sharing::Room key sharing
CodSpeed Performance Gauge
-1%
57.4 ms57.7 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
-1%
67.8 ms68.3 ms
Linked chunk metadata loader[memory store][100]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
-1%
19.9 µs20 µs
Linked chunk metadata loader[memory store][1000]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
-1%
679 µs687.4 µs
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
-1%
15.3 ms15.5 ms
Linked chunk lazy loader[memory store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
-2%
33.9 µs34.6 µs
Linked chunk metadata loader[memory store][10]
benchmarks/benches/linked_chunk.rs::event_cache::reading::Linked chunk reading
CodSpeed Performance Gauge
-4%
5.7 µs5.9 µs

Commits

Click on a commit to change the comparison range
Base
main
11d4305
-0.18%
change(notification_client): use cross process locking event and media stores instead of in-memory ones This will allow the NSE process to populate the event cache store with even data after retrieving it from sync, as opposed to dropping after rendering the notification it as it did previously.
a836b72
1 month ago
by stefanceriu
-0.18%
refactor(base): Rename `clone_with_in_memory_state_store`. This patch renames `clone_with_in_memory_state_store` to `derive_states_for_notification_client`. At least it clarifies what it does.
116003a
25 days ago
by Hywan
+0.16%
fixup!
a0fca8a
3 hours ago
by Hywan
© 2026 CodSpeed Technology
Home Terms Privacy Docs