Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

While 5M concurrent chat users is definitly a massive feat, it seems to me that it's kinda this tech (Erlang) very sweet spot and not being able to do so would have been disapointing. Or am I missing something ?


My takeaway is that Erlang/Elixir aren't designed to squeeze that much performance with that setup and that the Discord team went out of their way to optimize hot-spots to make it possible.

Erlang/Elixir are still quite impressive out of the box, even without these Discord-specific optimizations. But they probably wouldn't scale to 5M right away.


Nothing does, 5 millions __concurrent__ user creating and sending new data in real time is huge. Not to mention video and sound.


Yes. In my eyes the win here isn't concurrent performance that cannot get beaten by anything else; I am pretty sure a carefully crafted Golang or Rust stack can beat Elixir any day. But they won't have the fault tolerance guarantees of the BEAM VM.

The real win IMO is the good reliability:performance ratio that Discord achieved. I feel Erlang/Elixir are excellent in optimizing this exact metric.


Golang and Rust also don’t give you a direct path to distributed actors.


Sure. This is basically the exact sort of problem Erlang is designed to solve.

But it's still cool to see it done, and a lot of people are unfamiliar with Erlang or Elixir, so the discussion is interesting.


How often do we lament people using the wrong tools for the job?

I think it’s probably healthier to cheer the people doing it right than to keep shaming everyone else.


They are attempting to expand to being a springboard for games and apps within their app. Sort of like Steam, but since you're already chatting with friends why not start up a game of League?


No I mean Erlang.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: