Подтвердить что ты не робот

Почему не выполняется Node.js перед выполнением?

Мое понимание технологии заключается в том, что она компилируется на лету в сборку. В спектре скорости он медленнее, чем Java, но быстрее, чем Ruby и Python. На клиентской стороне интерпретатор имеет смысл, но на стороне сервера моя первая мысль заключается в том, что компиляция до запуска или, по крайней мере, имеющая возможность сделать это, является оптимальной архитектурой. Если бы JavaScript был предварительно скомпилирован таким образом, он работал бы быстрее, чем Java? Или это связано со слабо типизированными языками, что означает, что JavaScript всегда будет медленнее, чем Java?

4b9b3361

Ответ 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: