Angular производительность - OnPu sh увеличивает количество циклов - PullRequest
1 голос
/ 29 января 2020

я пытаюсь измерить различия в производительности в стратегиях обнаружения изменений.

Я добавил профилировщик angular, проверил по умолчанию, а затем добавил onPu sh для большинства наших компонентов, и это результаты: (режим разработки)

По умолчанию: {msPerTick: 25 + -, numTicks: 18 + -} onPu sh: {msPerTick: 2 + -, numTicks 220 + -}

Как вы можете видеть, msPerTick значительно уменьшился, но количество циклов в 10 раз больше. чем больше компонентов я переключаю на onPu sh, тем самым уменьшается мс и увеличивается numTicks.

Я хочу знать, нормально ли это и нормально, а если нет, то что может вызвать это?

Дополнительные детали: angular 7, я использую ленивые модули загрузки (с маршрутизацией). app.component использует стратегию по умолчанию. Я проверяю это на самом большом модуле. В big.module есть компонент big.home (по умолчанию) с дочерними компонентами (onPu sh)

1 Ответ

1 голос
/ 29 января 2020

Обновление: я понял, функция timeChangeDetection работает в течение полсекунды и пытается сделать столько циклов, сколько может. так что в требуемой ситуации это как можно больше numTicks.

...