Languages aren't compiled or interpreted: implementations are.
That's true in theory, utterly false in practice. Major design choices hinge on whether the language is intended to be interpreted or compiled. Interpreting languages that are intended to be compiled can be done but it usually amounts to compiling in the background and doesn't work out well. Compiling languages that are intended to be interpreted typically results in an order of magnitude slower performance compared to a language designed to be compiled. The information needed to optimize the compiled code just isn't there so the compiler cannot eliminate type checks, type coercions, bounds checks, overflow checks, etc. Typically all function calls are virtual and many memory accesses are doublely indirect.
Node.js isn't fast. It's concurrent. You can handle many thousands of simultaneous requests, as long as none of them are working particularly hard.
Look at this stackoverflow question about Node.js and multi-core processors (scroll down to the more up to date anwser.)
"Node.js is one-thread-per-process. This is a very deliberate design decision and eliminates the need to deal with locking semantics. If you don't agree with this, you probably don't yet realize just how insanely hard it is to debug multi-threaded code."
The performance "gains" people talk about with Node.js are entirely due to being single threaded and asynchronous. They're comparing asynchronous Node.js code to e.g. threaded Java. It's been well-known for decades that if you want ultimate performance you have to eliminate the overhead of context switches and go asynchronous. Again, big deal. We've known that since forever, and you can do that in many languages. C# has better language and library support for asynchronous operations. C++11 has excellent support as well. And if you want to see the ultimate in high performance asynchronous programming, just look at any OS kernel. All mainstream OSs (Linux, Windows, OS/X, iOS, BSD) are written this way, in plain old C. So most of the hype around Node.js is just because they've accidently rediscovered asychronous programming because they can't have threads.
Node.js : The speed of a dynamic interpreted language combined with the programming simplicity of low-level asynchronous systems code.
Exactly what collision course are we talking about?