This isn't a criticism of Node.js... it's just the way it is. Every language was young sometime.
(It will be interesting to see if Node.js ever quite catches up, though; when you've really pushed the performance to the max for a given design decision, you get down to the point where you can't improve without changing those decisions. Erlang's GC, for instance, is absolutely written around having a lot of threads that may be running on different CPUs, which adds a lot of complexity that the V8 project, or any JS runtime project in general, may be loathe to introduce into what is still fundamentally something that should be able to go into a browser. But that's for the future to resolve.)