diff options
author | Erik Johnston <erik@matrix.org> | 2017-04-25 14:38:51 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2017-04-25 14:38:51 +0100 |
commit | d9aa645f86db733bb0419b5f5428ba9a9c799735 (patch) | |
tree | 3bd3cc61f7656609e6642351014401b20f2882c8 /synapse/rest/client | |
parent | Reduce _get_state_group_for_event cache size (diff) | |
download | synapse-d9aa645f86db733bb0419b5f5428ba9a9c799735.tar.xz |
Reduce size of joined_user cache
The _get_joined_users_from_context cache stores a mapping from user_id to avatar_url and display_name. Instead of storing those in a dict, store them in a namedtuple as that uses much less memory. We also try converting the string to ascii to further reduce the size.
Diffstat (limited to 'synapse/rest/client')
-rw-r--r-- | synapse/rest/client/v1/room.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/synapse/rest/client/v1/room.py b/synapse/rest/client/v1/room.py index 0bdd6b5b36..c376ab8fd7 100644 --- a/synapse/rest/client/v1/room.py +++ b/synapse/rest/client/v1/room.py @@ -406,7 +406,13 @@ class JoinedRoomMemberListRestServlet(ClientV1RestServlet): users_with_profile = yield self.state.get_current_user_in_room(room_id) defer.returnValue((200, { - "joined": users_with_profile + "joined": { + user_id: { + "avatar_url": profile.avatar_url, + "display_name": profile.display_name, + } + for user_id, profile in users_with_profile.iteritems() + } })) |