Что такое «(программа)» в столбце функций отладчика Chrome?
javascript
google-chrome-devtools
hvgotcodes
источник
источник
Я считаю (программа) это нативный код, а не корень дерева.
Смотрите эту тему:
https://bugs.webkit.org/show_bug.cgi?id=88446
Итак, больше похоже на системные вызовы, чем на main ().
Видимо это включает в себя простой. Также некоторое профилирование (программы) доступно из chrome: // profiler /
источник
Как говорит @ Ник, это должно начаться где-то.
Похоже, что часть CPU Profiler похожа на многие другие профилировщики, которые основаны на же и gprof .
Например, self - это почти бесполезное число, если в каком-то коде, который вы можете редактировать, есть что-то вроде пузыря большого массива чисел. Очень маловероятно.
Общее количество должно включать вызываемых, так что это более полезно. Однако, если сэмплы не берутся как во время блокировки, так и во время выполнения, это все еще довольно бесполезно, за исключением полностью связанных с процессором программ.
Это дает вам эту статистику по функциям, а не по строке кода. Это значит (если бы вы могли положиться на Total процент), что функция стоит так дорого, в том смысле, что если бы вы могли как-то заставить ее занять нулевое время, например, путем ее заглушки, этот процент - это то, сколько времени вы бы сэкономили.
Поэтому, если вы хотите сосредоточиться на дорогостоящей функции, вам нужно искать внутри нее то, что можно оптимизировать. Для этого вам нужно знать, как время подразделяется на строки кода в функции. Если бы у вас были затраты на основе кода, это привело бы вас непосредственно к этим строкам.
Я не знаю, удастся ли вам получить лучший профилировщик, такой как сэмплер стека настенных часов, работающий на уровне линии, например Zoom . Вот как я это делаю .
источник