Skip to content
Snippets Groups Projects
Commit 5645d974 authored by David Baker's avatar David Baker
Browse files

Add some comments to areas that could be optimised.

parent 3fbb0317
No related branches found
No related tags found
No related merge requests found
......@@ -447,6 +447,9 @@ class SyncHandler(BaseHandler):
)
now_token = now_token.copy_and_replace("presence_key", presence_key)
# We now fetch all ephemeral events for this room in order to get
# this users current read receipt. This could almost certainly be
# optimised.
_, all_ephemeral_by_room = yield self.ephemeral_by_room(
sync_config, now_token
)
......
......@@ -26,7 +26,9 @@ import random
logger = logging.getLogger(__name__)
# Pushers could now be moved to pull out of the event_actions table instead
# of listening on the event stream: this would avoid them having to run the
# rules again.
class Pusher(object):
INITIAL_BACKOFF = 1000
MAX_BACKOFF = 60 * 60 * 1000
......
......@@ -59,6 +59,14 @@ def evaluator_for_room_id(room_id, hs, store):
class BulkPushRuleEvaluator:
"""
Runs push rules for all users in a room.
This is faster than running PushRuleEvaluator for each user because it
fetches all the rules for all the users in one (batched) db query
rarher than doing multiple queries per-user. It currently uses
the same logic to run the actual rules, but could be optimised further
(see https://matrix.org/jira/browse/SYN-562)
"""
def __init__(self, room_id, rules_by_user, display_names, users_in_room):
self.room_id = room_id
self.rules_by_user = rules_by_user
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment