Що таке "(програма)" у стовпчику функцій налагоджувача Chrome?
Що таке "(програма)" у стовпчику функцій налагоджувача Chrome?
Відповіді:
(program)
це сам Chrome, корінь дерева, що викликає всі інші коди ... він є, тому що перехід з рідного коду на JavaScript, завантаження ресурсів тощо повинен починатися десь :)
Ви можете побачити приклади перегляду дерев у документах інструментів для розробників Chrome .
Я вважаю, що програма - це нативний код, а не корінь дерева.
Дивіться цю тему:
https://bugs.webkit.org/show_bug.cgi?id=88446
Отже, більше схожі на системні дзвінки, ніж як main ().
Мабуть, це включає час простою. Крім того, деякі профілі (програми) доступні з chrome: // profiler /
Як говорить @Nick, це має десь почати.
Схоже, що частина процесора Profiler подібна до багатьох інших профілів, які базуються на тих же концепціях, що і gprof .
Наприклад, self - це майже марне число, якщо в якомусь коді є щось на зразок міхура великого масиву чисел, який ви можете редагувати. Вкрай малоймовірно.
Усього має бути включено кальє, тому це корисніше. Однак, якщо зразки не беруться як у блокований час, так і під час роботи, це все ще є досить марним, за винятком програм, повністю пов'язаних з процесором.
Це дає вам статистику за функцією, а не за рядком коду. Це означає (якщо ви можете покластися на загальний відсоток), що функція коштує стільки, в тому сенсі, що якщо ви могли якось змусити її зайняти нульовий час, наприклад, заглушивши її, цей відсоток - це скільки часу ви заощадите.
Тож якщо ви хочете зосередитись на дорогій функції, вам потрібно полювати всередині неї на те, що можна оптимізувати. Для цього потрібно знати, як час розподіляється між рядками коду у функції. Якби ви коштували на основі кодового рядка, це призвело б вас безпосередньо до цих рядків.
Я не знаю, чи зможете ви отримати кращий профайлер, як, наприклад, набір настінних зразків для збору стеків на рівні лінії, наприклад Zoom . Ось як я це роблю .