4 ms·
It used to be that Synapse (the server) hadn’t been optimised much, but we have been going through doing so. Presence just hasn’t come to the top of the list ye
by Arathorn 5y ago
It used to be that Synapse (the server) hadn’t been optimised much, but we have been going through doing so. Presence just hasn’t come to the top of the list yet as we think there are more important features to prioritise.
The reason there is stuff to optimise is that Matrix passes JSON around over HTTP in a byzantine fault tolerant manner: every time you send an event you have to sign it and justify why you’re allowed to send it, and every time you receive one you need to execute that proof effectively and do a merge resolution algorithm to authenticate the event and store it in the right context - very similar to how Git works, but with events rather than commits. A naive implementation of this can be very heavy. We’ve improved it by 3-4x over the last year or so, and there are other big algorithmic improvements in general on the horizon too.