В моем приложении Angular после более интенсивного использования ngxs я вижу, что мое приложение работает очень медленно , когда инспектор открыт , но нет, когда профилировщик работает * 1004. *.
Это немного затруднило понимание того, что происходит, но используя старый метод conosle.profile
(добавление записи в старый профилировщик Chrome), я немного сузил его - но я не в теперь все более осведомлены, чем я, просто растерян.
Так что я надеюсь, что кто-то здесь может мне помочь!
У меня есть несколько скриншотов из профилирования, но, к сожалению, больше ничего.
Сначала скриншот с профиля:
Как вы можете видеть, есть очень долгое время, когда, очевидно, ничего не происходит. Обратите внимание на консоль, что метод bottom (startObserving
) занимает всего 0,12 мс (в соответствии с console.time
)
Поднявшись по дереву за несколько шагов, мы находим Handsontable
- это то, на что похожа функция, и некоторые временные привязки:
function Handsontable(rootElement, userSettings) {
console.time('Handsontable total time');
console.time('Handsontable create instance');
var instance = new _core2.default(rootElement, userSettings || {}, _rootInstance.rootInstanceSymbol);
console.timeEnd('Handsontable create instance');
console.time('Handsontable init instance');
instance.init();
console.timeEnd('Handsontable init instance');
console.timeEnd('Handsontable total time');
return instance;
}
// Timer outputs:
// This looks OK
Handsontable create instance: 10.864990234375ms
// Also this
Handsontable init instance: 1462.807861328125ms
// Wow, what??
Handsontable total time: 52664.875ms
Похоже, что 2 метода, вызываемые в конструкторе / функции Handsontable
, имеют общее время выполнения <1500 мс, но общее время выполнения составляет более 52 <strong>секунд .
Что в мире может происходить за эти ~ 50 секунд - как я вижу - простоя?
Любая помощь действительно приветствуется, советы, предложения, помощь для лучшей отладки!
Примечание. В Firefox это не проблема. Я пробовал в Chromium 67, 68 и 69 тоже - та же проблема. Это проблема в Chrome на всех платформах (протестировано в Windows 10, Ubuntu 16,17 и MacOS latest-1, последняя)