@SmokyA

Как выяснить, какой код дает нагрузку на загрузку ЦП?

Добрый день!
Есть большой кусок кода, который выполняется в браузере jsом. Он состоит из кучи функций, которые плавно одна перетекает в другую. Связан он с голосовым синтезом фраз и последующим распознаванием речи средствами Гугл Хром API (recognition) и сопоставлением произнесенного и того, что ожидается. Когда синтез и распознавание запускаются в первый раз, все проходит нормально, но с каждым повторением диалога (без перезагрузки браузера вновь запускается диалог уже по другому сценарию, синтезируются какие-то другие ответы, ожидаются на вход другие фразы) скрипт начинает подвисать и багаться. Задержки с распознаванием становятся все более критичными, в итоге скрипт намертво подвешивает браузер и штатными средствами завершить диалог уже нельзя - только закрыть окно браузера. Загрузка ЦП подскакивает до критического уровня.
Как можно в динамическом режиме отследить, какая именно функция нагружает систему? Я практически не знакома с профилированием, но по сути поняла, что при этом речь идет о файле, который один раз загружается и можно отследить в нем каждый конкретный процесс. Пытаюсь отслеживать время выполнения определенных функций при помощи performance.now() при первом и последующих запусках диалога, но пока мне информативного результата получить не удалось, везде все среднее "по больнице", а в итоге процессор стремится в космос.
Куда копать, на что обращаться внимание?
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen
JavaScript developer. IonDen.com
604fd138f1be3425162818.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы