Ответ 1
Некоторые из Node.js являются С++ и предварительно скомпилированы. Мое понимание, однако, заключается в том, что есть попытка сохранить как можно больше в Javascript, но там, где производительность была плохой, был использован С++.
Node.js невозможен без V8 JavaScript Engine, который компилирует javascript. Этот двигатель известен тем, что он очень быстрый. Он был создан для браузера Chrome, но производительность также рассчитывается в Node.js.
Что касается производительности Node.js, то в качестве веб-сервера он не менее наравне с другими ведущими веб-серверами, такими как Apache + PHP. Таким образом, производительность не является проблемой в обычном использовании. Тем не менее, есть более быстрые технологии. Известно, что серверы на основе Erlang быстрее работают при параллельных нагрузках (интересно, что Erlang также является динамически типизированным языком).
Для чистых чисел, сжимающих интенсивные задачи cpu/gpu, Node.js не является хорошим выбором, если вы не устанете его с помощью Fabric Engine, и в этом случае он может быть на одном уровне с С++.
Есть несколько проектов, которые в настоящее время изучают проблемы со скоростью JavaScript:
- Dart - http://www.dartlang.org/support/faq.html. (Это не только скорость, но и ее часть).
- Node Native - https://github.com/d5/node.native/