It probably wasn’t a big deal when it was a niche project until Twitter imploded. Then all the public instances got overloaded with new users and the limits became obvious.
A better design is Lemmy which is written in Rust so it has far more scalability. It’s compiled and because it’s tokio / actix based, it can also do a lot more stuff asynchronously so it’s not spawning thousands of threads to cope with concurrent requests.
@towerful I mainly program in Go, so when I see all that extra software I notice how much easier it is when I get to just rely on the Go runtime. It does a lot of the heavy lifting done here, but the resulting code is not as clean. Actually just today I read through Mastodon’s code to track down a bug in my in-progress ActivityPub service (in Go) and found the Ruby really easy to navigate!
Mastodon is written in Ruby. Nowhere near as big as Facebook or the ML field, but hey, it’s important to a couple of us at least :)
@programming @nifty
and therefore scales terribly ;;
It probably wasn’t a big deal when it was a niche project until Twitter imploded. Then all the public instances got overloaded with new users and the limits became obvious.
A better design is Lemmy which is written in Rust so it has far more scalability. It’s compiled and because it’s tokio / actix based, it can also do a lot more stuff asynchronously so it’s not spawning thousands of threads to cope with concurrent requests.
@pkill Yeah seems that way, judging by their scaling up documentation: https://docs.joinmastodon.org/admin/scaling/
Although hey, it all depends on a whole bunch of stuff written in super optimised (and kinda scary) C !
@programmer_humor
Those docs look pretty easy to scale mastodon. What am i missing?
@towerful I mainly program in Go, so when I see all that extra software I notice how much easier it is when I get to just rely on the Go runtime. It does a lot of the heavy lifting done here, but the resulting code is not as clean. Actually just today I read through Mastodon’s code to track down a bug in my in-progress ActivityPub service (in Go) and found the Ruby really easy to navigate!
@programmer_humor
Hi there! Your text contains links to other Lemmy communities, here are correct links for Lemmy users: !programming@programming.dev
FTFY ;)