this post was submitted on 11 Jun 2023
33 points (100.0% liked)
Chat
7498 readers
2 users here now
Relaxed section for discussion and debate that doesn't fit anywhere else. Whether it's advice, how your week is going, a link that's at the back of your mind, or something like that, it can likely go here.
Subcommunities on Beehaw:
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I don't know if we can blame Matrix for Synapse being slow since it's written in Python. Dendrite (go) and Rome (rust) were the main alternative server implementations last I checked.
I didn't know about Rome. I may check it out. I did run Dendrite but it's still pretty intensive, but much better than Synapse.
It seems like the Matrix protocol is kind of a beast making it hard for Dendrite to finally replace it or alternatives to catch up, especially with how hard the encryption stuff is. Matrix is definitely the prime example of federation making development harder/slower.
I heard someone say that the messages on Matrix are basically replicated on every server that is federated with another. I don't know if this is true, but that's a crazy amount of network traffic if so. I've also heard anecdotally that the protocol itself is pretty complicated.
Just like… everything that's federated? XMPP, Mastodon, Lemmy ?
As soon as you're in the room (messaging) or following someone or something (social networking), you want to store all their content, so that you have it even if their server is down.
In XMPP old type rooms are not federated, that's where the mantra of "but mah matrix collects more metadata" comes from. On XMPP if the server where the room was created goes down, then it foes down with the room, unlike in Matrix. There is a newer implementation of rooms in XMPP but it's not widely used and, ding ding ding, it has to store content on all servers so it is not centralised