Merge pull request #3795 from matrix-org/erikj/faster_sync_state
User iter* during sync state calculations
This commit is contained in:
commit
ee7c8bd2b5
|
@ -0,0 +1 @@
|
||||||
|
Make /sync slightly faster by avoiding needless copies
|
|
@ -1729,17 +1729,17 @@ def _calculate_state(
|
||||||
event_id_to_key = {
|
event_id_to_key = {
|
||||||
e: key
|
e: key
|
||||||
for key, e in itertools.chain(
|
for key, e in itertools.chain(
|
||||||
timeline_contains.items(),
|
iteritems(timeline_contains),
|
||||||
previous.items(),
|
iteritems(previous),
|
||||||
timeline_start.items(),
|
iteritems(timeline_start),
|
||||||
current.items(),
|
iteritems(current),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
c_ids = set(e for e in current.values())
|
c_ids = set(e for e in itervalues(current))
|
||||||
ts_ids = set(e for e in timeline_start.values())
|
ts_ids = set(e for e in itervalues(timeline_start))
|
||||||
p_ids = set(e for e in previous.values())
|
p_ids = set(e for e in itervalues(previous))
|
||||||
tc_ids = set(e for e in timeline_contains.values())
|
tc_ids = set(e for e in itervalues(timeline_contains))
|
||||||
|
|
||||||
# If we are lazyloading room members, we explicitly add the membership events
|
# If we are lazyloading room members, we explicitly add the membership events
|
||||||
# for the senders in the timeline into the state block returned by /sync,
|
# for the senders in the timeline into the state block returned by /sync,
|
||||||
|
|
Loading…
Reference in New Issue