Hacker News new | ask | show | jobs
by pantalaimon 1222 days ago
Yea I'm always depressed by how long it takes the Element client to refresh (update the history of) a medium number of subscribed channels.

It's just text messages, why does it take so long?

5 comments

Slowness of all kinds have the major goal for Matrix to fix in the last few months, they recently presented very impressive improvements at FOSDEM.

https://video.fosdem.org/2023/Janson/matrix20.mp4

The architectures are not the same. In XMPP, the server is the source of truth. It receives all stuff from the outside and arranges it in its database. You ask it "what's the status" and it can give you the snapshot you desire. Think favorite-search-engine that scrapes everything in the background and gives you instant answer to your queries.

In Matrix, it's a stream of events. So you technically have to fetch all events and then reconstruct the current state locally. Think scraping the web manually before searching locally.

There are, of course, ways to make it faster, but ultimately the fundamental difference means it will always be an upstream battle to make it as efficient, and the risk will always be to depend more on the server

I've tried to explain this in reasonable detail (and how it's being fixed) at https://youtu.be/eUPJ9zFV5IE?t=567
Same, it feels so sluggish and slow compared to xmpp clients, even in small private chats, public rooms on matrix are on another level of unusable. Also that element is the only client that supports all features, would love to switch something more lightweight but most of them have some features missing (that i would miss) or even e2ee missing.

Kind of funny that your name matches an e2ee matrix proxy. https://github.com/matrix-org/pantalaimon

Because Matrix is designed as a distributed database instead of as a message passing service so Synapse has to catch up before you can do anything.. awful..