3 ms·
We use Phoenix and Elixir a lot at Bleacher Report and it's great. However there is very little information out there on how to improve performance. For exampl
by abritinthebay 11y ago
We use Phoenix and Elixir a lot at Bleacher Report and it's great.
However there is very little information out there on how to improve performance. For example - we saw out of the box performance for a simple data parser being better with Symphony than Phoenix (but both were way better than Rails).
It's not a catch all performance booster, even on things you would expect it would be (this was an API that pulled lots of data concurrently from other sources to build the API).
It IS a huge improvement over rails however. José Valim is a great guy and we were lucky enough to have him talk about both here at BR. Plugs alone are a lovely architectural touch and it's worth people checking out the system just from a widening your perspective type of deal, even if you won't be using it in production.
Good practices all round.
- desireco42 11y agoCan't say for sure, but in PHP some modules are writted in C and optimized, it might be that you are seeing that. Overall PHP due to number of things, how collections are processed etc is very slow. Elixir/Phoenix is pretty much consistently fast and encourages practices that I believe will make your app really fast.
- mercurial 11y agoI thought the tradeoffs of the Beam VM (soft real-time) meant that "fast" would always be preceded by "not very". Unless you mean compared to Ruby?
- josevalim 11y agoFor Phoenix, the main constraints in performance are usually around configuration like the size of your database pool or if protocols are being consolidated. Once those are tweaked, you are usually good to go! Generally speaking though, Erlang in Anger is a great (and free) resource and Observer is a fantastic tool. When we made Phoenix handle 2 million connections, observer was all we needed to find the bottlenecks. The fix was then to optimize ETS or introduce a pool of processes. If performance is not what you expect, feel free to ping me or Chris. I personally enjoy doing this kind of work. :)
- bherms 11y agoYou're awesome Jose... Incredibly prolific, brilliant, and most of all, kind. Thanks for all you do.