News for hackers. Stuff that matters.
Re:Ask HN: Why does P2P encrypted messaging still suck? by Arathorn on Tuesday April 03, 2018 @04:17PM (#16748669)
The problem isn't the number of connected or registered users on the server - the problem is the complexity of the rooms they are participating in. So if those 20 users join hundreds of rooms with tens of thousands of users participating, spread across thousands of servers, with large numbers of joins/parts or messages sent a second... you shouldn't be surprised that it takes a few GB of RAM.

HOWEVER, we have been working incredibly hard at optimisation over the last few months, and we have order-of-magnitude algorithmic performance improvements on the horizon over the coming weeks. https://twitter.com/matrixdotorg/status/979049079568240641 etc. There's also a port to python3 happening which should improve RAM by 2-3x given python3 stores strings in utf8 rather than python2's utf32.

Re:Ask HN: Why does P2P encrypted messaging still suck? by subway on Tuesday April 03, 2018 @04:37PM (#16748874)
I certainly don't mean to throw any shade on the project -- if anything, the RAM utilization was less of a surprise for me than being bound to single-core performance by default. Sure, it's possible to split Synapse up into workers, but it definitely feels like there's some voodoo involved (my first attempt at setting just a Synchroton worker failed miserably this week)
Re:Ask HN: Why does P2P encrypted messaging still suck? by tomc1985 on Tuesday April 03, 2018 @05:12PM (#16749307)
Is it really necessary to maintain the state of the entire network on all federated nodes? (Since I'm guessing that's what you've described)
Re:Ask HN: Why does P2P encrypted messaging still suck? by Arathorn on Tuesday April 03, 2018 @05:16PM (#16749352)
It isn't necessary, and we don't do it. What I've described is what happens if you type '/join #matrix:matrix.org' and your server starts participating in a large room which spans tens of thousands of users and hundreds of servers. Rooms are only replicated over the servers which participate in them. So if you don't join massive rooms, your server can be have fine. (And in the near future massive rooms should be usable too).