Выполняя аудит Lighthouse в инструментах разработчика Chrome, я получил следующий отчет о выполнении javascript. Я обнаружил, что main.js занимает много времени в Script Evaluation (455 мс) по сравнению с Script Parse (5 мс). Но я не могу понять, сколько сейчас времени оценки сценария? Сколько времени уходит на загрузку скрипта? Как мне его уменьшить?
Lighthouse audit: оценка скрипта против анализа скрипта
Ответы (1)
Согласно следующей ссылке Lighthouse https://web.dev/bootup-time/, существует четыре основные затраты на выполнение любого JS файла:
- Стоимость сети
Стоимость синтаксического анализа и компиляции: JavaScript анализируется и компилируется в основном потоке. Когда основной поток занят, страница не может отвечать на ввод пользователя.
Стоимость выполнения: JavaScript также выполняется в основном потоке. Если на вашей странице выполняется много кода до того, как он действительно понадобится, это также приведет к задержке вашего времени до интерактивности, что является одним из ключевых показателей, связанных с тем, как пользователи воспринимают скорость вашей страницы.
Стоимость памяти
Я считаю, что время оценки в терминологии Lighthouse - это время после разбора скрипта для загрузки всего файла в память. Другими словами, вам нужно проверить тяжелый файл и попытаться оптимизировать код в самом файле. Вот некоторые факты, которые я узнал, изучая ту же проблему, которую вы проверяете:
- Оценка сценария - это этап между анализом сценария и выполнением сценария, который в основном загружает код в память.
- Неиспользуемый код отрицательно повлияет на время синтаксического анализа, но не на время оценки и выполнения.
- Время синтаксического анализа увеличивается с размером кода скрипта.
- Время оценки скрипта увеличивается с увеличением количества используемого кода.
- Lighthouse помечает сценарий как блокирующий основной поток, ТОЛЬКО если он влияет на TTI. Например, если файл сценария размером 10 МБ был добавлен в качестве ресурса блокировки рендеринга на любую страницу, но не использовался, Lighthouse пометит его как ресурс блокировки рендеринга, но не как блокирующий основной поток.
- Оценка скрипта - это индикатор того, сколько кода требуется для запуска страницы.
Решением может быть разделение файла на два файла, один из которых является критическим файлом, который должен быть загружен изначально, а другой может быть отложен для оптимизации производительности.
eval
ed). - person wOxxOm   schedule 15.11.2019