Когда в Node.js появилась JIT-компиляция?

«Когда в Node.js появилась JIT-компиляция?» — вопрос из категории Node.js Core, который задают на 26% собеседований Node.js Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

JIT-компиляция в Node.js появилась с самого начала, так как Node.js использует движок V8 от Google, который всегда включал JIT-компиляцию. V8 компилирует JavaScript в машинный код во время выполнения, а не интерпретирует его построчно.

Пример работы V8:

function add(a, b) {
  return a + b;
}

// При многократном вызове V8 оптимизирует функцию
for (let i = 0; i < 10000; i++) {
  add(i, i+1);
}

Ключевые моменты:

  • V8 использует два компилятора: базовый (быстрый, но неоптимизированный) и оптимизирующий (TurboFan)
  • Горячие функции (часто вызываемые) перекомпилируются с оптимизациями
  • Node.js унаследовал эту возможность с первой версии (2010 год)