Подтвердить что ты не робот

Что такое "(программа)" в профилировщике отладчиков Chrome?

Что такое "(программа)" в столбце функции отладчика Chrome?

4b9b3361

Ответ 1

(program) - это сам Chrome, корень дерева, вызывающий весь другой код... он там, потому что переход от собственного кода к JavaScript, загрузка ресурсов и т.д. должен начинаться где-то:)

В документации по инструментам разработчика Chrome вы можете увидеть примеры treeview

Ответ 2

Я считаю (программа) родным кодом, а не корнем дерева.

Смотрите эту тему:

https://bugs.webkit.org/show_bug.cgi?id=88446

Итак, больше похоже на системные вызовы, чем на main().

По-видимому, он включает время простоя. Кроме того, некоторые профилирования (программы) доступны из chrome://profiler/

Ответ 3

Как говорит @Nick, он должен начинаться где-то.

Похоже, что часть профайлера процессора похожа на многие другие профилировщики, основанные на тех же концепциях, что и gprof.

Например, self - это почти бесполезное число, если в некотором коде, который вы можете редактировать, есть что-то вроде пузырьковой сортировки большого массива чисел. Очень маловероятно.

Итого должны включать в себя расчеты, чтобы они были более полезными. Однако, если выборки не выполняются во время заблокированного времени, а также во время работы, это все еще довольно бесполезно, за исключением программ с фиксированной привязкой.

Он дает вам эту статистику по функции, а не по строке кода. Это означает (если вы можете положиться на Total percent), что функция стоит так много, в том смысле, что если вы можете как-то заставить заняться нулевым временем, например, запустив ее, этот процент - это то, сколько времени вы сэкономите.

Итак, если вы хотите сосредоточиться на дорогостоящей функции, вам нужно искать внутри нее для того, что можно оптимизировать. Для этого вам нужно знать, как время делится между строками кода в функции. Если бы у вас была стоимость на основе кода, это приведет вас непосредственно к этим строкам.

Я не знаю, сможете ли вы получить лучший профилировщик, например, сэмплер с настенными часами на уровне строки, например Увеличить. Здесь как я это делаю.