3 ms·
> So, go is a perfect fit for the http server (or service) usecase and in my experience there is no parallel. Elixir handling 2 million websocket connections o
by ashton314 1y ago
> So, go is a perfect fit for the http server (or service) usecase and in my experience there is no parallel.
Elixir handling 2 million websocket connections on a single machine back in 2015 would like to have a word.[1] This is largely thanks to the Erlang runtime it sits atop.
Having written some tricky Go (I implemented Raft for a class) and a lot of Elixir (professional development), it is my experience that Go's concurrency model works for a few cases but largely sucks in others and is way easier to write footguns in Go than it ought to be.
[1]: https://phoenixframework.org/blog/the-road-to-2-million-websocket-connections https://phoenixframework.org/blog/the-road-to-2-million-webs...
- Fire-Dragon-DoL 1y agoI worked in both Elixir and Go. I still think Elixir is best for concurrency. I recently realized that there is no easy way to "bubble up a goroutine error", and I wrote some code to make sure that was possible, and that's when I realize, as usual, that I'm rewriting part of the OTP library. The whole supervisor mechanism is so valuable for concurrency.