|Elixir In Action (book)||My go-to recommendation for getting started with Elixir.|
|Writing A Blog Engine in Phoenix||Great first tutorial for Phoenix framework|
|Erlang In Anger||Great guide for when stuff goes bad.|
Memory / GC
For articles on GC / compilers in general see compilers section.
|Erlang Scheduler Details and Why It Matters|
|Erlang Garbage Collection Details and Why It Matters||Simple introduction to Erlang GC concepts. Start here.|
|Erlang 19.0 Garbage Collector|
|Erlang Efficiency Guide|
|Erlang Binary Garbage Collection: A love/hate relationship||Some findings on the shared heap GC.|
|How Erlang does scheduling|
|Characterizing the Scalability of Erlang VM on Many-core Processors (pdf)|
|Elixir RAM And The Template Of Doom|
|Elixir and IO Lists, Part 1: Building Output Efficiently|
Don’t have processes the many other processes depend on. For example, a single-process cache that many others call to. This will be a bottleneck because you’ll always have to wait for that process’s turn from the scheduler.