Agree, Erlang will never win any performance benchmarks, but that is mostly due to other aspects of the language: big integers, string handling, safer-rather-than-faster floating point, etc.
[Elixir is a little better, supporting binary-first for strings, rather than charlists - Erlang is very good at pattern-matching binaries.]
Share-nothing and thread-per-core are good for many reasons, including performance, but they also feed into the main philosophies for Erlang development: resilience, horizontal scalability and comprehensibility.
As Joe Armstrong said:
“Make it work, then make it beautiful, then if you really, really have to, make it fast.
90% of the time, if you make it beautiful, it will already be fast.
So really, just make it beautiful.”