So I see two ways forward for the fediverse, either:
A. Mastodon has to be refactored / rewritten to use Ruby Fibers, the non-blocking concurrency feature for Ruby
OR
B. We have to switch to a different Fediverse software that is based on a more modern software development framework.
Personally I think B might be the best option, and my money is on GoToSocial!!
There's a lot that I don't know.
GoToSocial has had some performance issues in the wild already, mostly related to missing indexes on database / non-optimize queries. That's typical for any new application and usually very easy to solve in a relational database.
The hardware requirement to federate George Takei's toots right now is surely massive -- think ThreadRipper.
GoToSocial will probably be able to achieve a similar result on a mere Raspberry Pi 4.
@forestjohnson dam golang do be performant! I read their readme and it looks amazing
It's going to be a long time before GoToSocial is usable enough that it can see real-world load. But based on what I have heard about Mastodon outbox federation performance, I'm very confident that GoToSocial should smash Mastodon in terms of its ability to keep up with accounts that have thousands of followers from thousands of servers and post frequently.
@forestjohnson is gotosocial provably better @ handling load? I assume so bcuz golang concurrency but I'd like to see comparisons. also I wonder if heavy parts of the masto stack could be rewritten in go & the rest left alone