Developer on Space Station 14.

Admin of lemmy.spacestation14.com

Mastodon: https://mastodon.gamedev.place/@PJB

  • 0 Posts
  • 7 Comments
Joined 2 years ago
cake
Cake day: June 11th, 2023

help-circle



  • Yeah. People really should be allowed to make things in whatever technology they prefer, but at the same time I can’t help but wince when I see infrastructure such as Mastodon or Matrix Synapse being written in slow inefficient languages like Ruby and Python.

    It’s really bad for the strength of decentralized networks like Fedi when I have a friend telling me “I wish I didn’t set up Mastodon because my tiny instance needs multiple gigabytes of RAM”. I might have set up a Matrix homeserver myself by now if Synapse wasn’t Python and notoriously slow. I immediately discarded Kbin as a choice (among other reasons) because it’s PHP and Lemmy is Rust.

    Always easy to say “hindsight is 20/20”, but still.


  • To be honest, the “configuration is an executed .php file” system does make some amount of sense in the context of PHP. When your app has to re-run everything to serve a web request, having to re-load the config (especially if it’s YAML, though JSON is less bad) is expensive. Re-running the PHP code, on the other hand, can be cached way better, in theory.

    Of course, this is still all PHP’s fault in the end: the core problem here is that you need to re-run everything to serve a web request, without ability to pre-load state like configuration.