summary refs log tree commit diff
path: root/synapse/federation
diff options
context:
space:
mode:
authorVincent Breitmoser <look@my.amazin.horse>2018-01-06 18:11:02 +0100
committerVincent Breitmoser <look@my.amazin.horse>2018-04-10 11:29:51 +0200
commit9fbe70a7dc3afabfdac176ba1f4be32dd44602aa (patch)
tree72df152671e195a687fecdd72b398658df9c14b7 /synapse/federation
parentMerge pull request #2996 from krombel/allow_auto_join_rooms (diff)
downloadsynapse-9fbe70a7dc3afabfdac176ba1f4be32dd44602aa.tar.xz
Use sortedcontainers instead of blist
This commit drop-in replaces blist with SortedContainers. They are
written in pure python so work with pypy, but perform as good as
native implementations, at least in a couple benchmarks:

http://www.grantjenks.com/docs/sortedcontainers/performance.html
Diffstat (limited to 'synapse/federation')
-rw-r--r--synapse/federation/send_queue.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/synapse/federation/send_queue.py b/synapse/federation/send_queue.py

index 93e5acebc1..945832283f 100644 --- a/synapse/federation/send_queue.py +++ b/synapse/federation/send_queue.py
@@ -35,7 +35,7 @@ from synapse.storage.presence import UserPresenceState from synapse.util.metrics import Measure import synapse.metrics -from blist import sorteddict +from sortedcontainers import SortedDict from collections import namedtuple import logging @@ -56,19 +56,19 @@ class FederationRemoteSendQueue(object): self.is_mine_id = hs.is_mine_id self.presence_map = {} # Pending presence map user_id -> UserPresenceState - self.presence_changed = sorteddict() # Stream position -> user_id + self.presence_changed = SortedDict() # Stream position -> user_id self.keyed_edu = {} # (destination, key) -> EDU - self.keyed_edu_changed = sorteddict() # stream position -> (destination, key) + self.keyed_edu_changed = SortedDict() # stream position -> (destination, key) - self.edus = sorteddict() # stream position -> Edu + self.edus = SortedDict() # stream position -> Edu - self.failures = sorteddict() # stream position -> (destination, Failure) + self.failures = SortedDict() # stream position -> (destination, Failure) - self.device_messages = sorteddict() # stream position -> destination + self.device_messages = SortedDict() # stream position -> destination self.pos = 1 - self.pos_time = sorteddict() + self.pos_time = SortedDict() # EVERYTHING IS SAD. In particular, python only makes new scopes when # we make a new function, so we need to make a new function so the inner