PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Где посмотреть скорость исполнения кода?

Продвинутые темы

Скорость исполнения кода смотрят через `performance.now()`, `console.time()`, DevTools Performance/Profiler и бенчмарк-инструменты.

Способы измерения

console.time / timeEnd

Простое измерение времени блока:

console.time('operation');
doWork();
console.timeEnd('operation'); // operation: 12.5ms

performance.now()

Высокоточное время (дробные миллисекунды):

const start = performance.now();
doWork();
console.log(performance.now() - start); // мс с высокой точностью

DevTools Performance

Профилирование: запись выполнения, flame chart, поиск долгих операций, layout/paint, ре-рендеры.

DevTools Memory

Профилирование памяти, утечки.

React Profiler

Время рендеринга компонентов, лишние ре-рендеры.

Бенчмарки

Библиотеки (benchmark.js), сайты (jsperf-подобные) для сравнения реализаций с прогревом и статистикой.

Lighthouse / WebPageTest

Метрики загрузки страницы (FCP, LCP, TTI).

Как выбирать

  • Быстро замерить блок → console.time / performance.now.
  • Глубокий анализ производительности → DevTools Performance.
  • Ре-рендеры React → React Profiler.
  • Сравнить реализации → бенчмарк с прогревом.

Коротко для собеседования

Скорость кода измеряют: console.time/timeEnd и performance.now() (точное время блока), DevTools Performance (профилирование, flame chart, долгие операции), React Profiler (ре-рендеры), Lighthouse (загрузка страницы), бенчмарк-библиотеки (сравнение реализаций). Для микрозамеров — performance.now с прогревом.

Другие вопросы раздела