It is also far from ideal when it comes to performance from what I've seen. Maybe its overall design is good, but I don't believe that adding so much overhead over native programs is necessary.
Otherwise I think the rest of Erlang's performance is because it's optimized for reliability and distribution rather than raw performance.