Це команда dprofppp, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
dprofpp - відображення даних профілю perl
СИНТАКСИС
dprofpp [-a|-z|-l|-v|-U] [-d] [-s|-r|-u] [-q] [-F] [-Я|-Е] [-O cnt] [-A] [-R] [-S] [-g
підпрограма] [-G [-P]] [-f ] [профіль]
dprofpp -T [-F] [-g підпрограма] [профіль]
dprofpp -t [-F] [-g підпрограма] [профіль]
dprofpp -G [-P] [профіль]
dprofpp -p сценарій [-Q] [інші варіанти]
dprofpp -V [профіль]
ОПИС
Команда dprofpp команда інтерпретує дані профілю, створені профайлером, наприклад
Профайлер Devel::DPof. Dprofpp прочитає файл tmon.out і відобразити 15 підпрограм
які використовують найбільше часу. За замовчуванням вказано час для кожної підпрограми
виключаючи час їх дочірніх підпрограм.
Для профілювання сценарію Perl запустіть інтерпретатор perl за допомогою -d перемикач. Тож до профілю
сценарій test.pl з Devel::DPof використовуйте наступне:
$ perl5 -d:DPof test.pl
Потім запустіть dprofpp, щоб проаналізувати профіль. Вихід dprofpp залежить від прапорів до
програму та версію Perl, яку ви використовуєте.
$ dprofpp -u
Загальний час = 1.67 секунди
Час користувача = 0.61 секунди
Ексклюзивні часи
%Час секунд #Виклики с/виклик Ім'я
52.4 0.320 2 0.1600 main::foo
45.9 0.280 200 0.0014 головний::бар
0.00 0.000 1 0.0000 DynaLoader::import
0.00 0.000 1 0.0000 основний::баз
Інструмент dprofpp також може запустити профайлер перед аналізом даних профілю. Вище
за допомогою однієї команди dprofpp можна виконати дві команди.
$ dprofpp -u -p test.pl
Зверніться до "ФОРМАТ ПРОФІЛЮ" в Devel::DPof, щоб отримати опис необробленого профілю.
ВИХІД
Колонки:
%Час
Відсоток часу, проведеного в цій рутині.
# Дзвінки
Кількість дзвінків до цієї процедури.
сек/дзвінок
Середня кількість секунд на виклик цієї процедури.
ІМ'Я
Назва рутини.
CumulS
Час (у секундах), проведений у цій підпрограмі та викликані з неї підпрограми.
ExclSec
Час (у секундах), проведений у цій підпрограмі (не враховуючи викликаних з неї).
Csec/c
Середній час (у секундах), витрачений на кожен виклик цієї процедури (включаючи виклики
з цього).
ВАРІАНТИ
-a Сортуйте в алфавітному порядку за назвами підпрограм.
-d Зверніть будь-який сорт, який використовується
-A Врахуйте час для автоматично завантаженої підпрограми як час для *::AUTOLOAD. Інакше час
для автозавантаження він зараховується як час самої підпрограми (немає можливості
відокремити час автозавантаження від часу виконання).
Це буде неактуальним для новіших Perls. Вони повідомлять "Devel::DPof"
коли "AUTOLOAD" перемикається на фактичну підпрограму, тому окрема статистика для
«АВТОЗАВАНТАЖУВАННЯ» буде зібрано незалежно від того, чи встановлено цю опцію.
-R Підраховувати анонімні підпрограми, визначені в одному пакеті окремо.
-E (за замовчуванням) Відображати всі часи підпрограм, за винятком часу дочірніх підпрограм.
-F Примусово генерувати підроблені позначки часу виходу, якщо dprofpp повідомляє, що профіль є
спотворений. Це корисно, лише якщо dprofpp визначає, що профіль спотворений через
на відсутність позначок часу виходу. Якщо ви робите це, ви самі. Зверніться до BUGS
.
-I Відображати всі часи підпрограм, включаючи час дочірніх підпрограм.
-l Сортувати за кількістю викликів до підпрограм. Це може допомогти визначити кандидатів
підкладка.
-O cnt
Показати тільки cnt підпрограми. За замовчуванням – 15.
-p сценарій
Повідомляє dprofpp, що він повинен профільувати даний сценарій, а потім інтерпретувати його профіль
дані. Побачити -Q.
-Q Використовується з -p щоб наказати dprofpp завершити роботу після профілювання сценарію без інтерпретації
дані.
-q Не відображати заголовки стовпців.
-r Відображати час, що минув, а не час користувача + система.
-s Відображати системний час, а не час користувача + система.
-T Відобразити дерево викликів підпрограм до стандартного виведення. Статистика підпрограм не відображається.
-t Відобразити дерево викликів підпрограм до стандартного виведення. Статистика підпрограм не відображається.
Коли функція викликається кілька разів поспіль на одному рівні виклику, тоді
він відображається один раз із підрахунком повторів.
-S дисплей Об'єднувати дерево викликів підпрограм до стандартного виведення. Статистика відображається для кожного
гілка дерева.
Коли функція називається множинною (НЕ обов'язково поспіль) разів у тому самому
гілки, то всі ці виклики переходять в одну гілку наступного рівня. Повторний підрахунок
вихід разом із комбінованим інклюзивним, ексклюзивним та дитячим часом.
Відгалуження відсортовано за інклюзивним часом.
-U Не сортувати. Відображати в порядку, указаному в необробленому профілі.
-u Відображати час користувача, а не час користувача + система.
-V Надрукуйте номер версії dprofpp і вийдіть. Якщо знайдено необроблений профіль, то його
Також буде відображатися змінна XS_VERSION.
-v Сортувати за середнім часом, витраченим на підпрограми під час кожного виклику. Це може допомогти ідентифікувати
кандидатів на вбудовування.
-z (за замовчуванням) Сортувати за кількістю використаного часу користувача та системи. Перші кілька рядків повинні показати
які підпрограми використовують найбільше часу.
-g "підпрограма"
Ігноруйте підпрограми, окрім «підпрограми» та будь-яких викликів із неї.
-G
Згрупуйте всі виклики, що відповідають шаблону, разом. Наприклад, це може бути
використовується для групування всіх викликів набору пакетів
-G "(пакет1::)|(пакет2::)|(пакет3::)"
або групувати підпрограми за назвою:
-G "getNum"
-P Використовується з -G для об’єднання "Pull" всіх викликів, які не відповідають -G.
-f
Відфільтруйте всі виклики, що відповідають шаблону.
-h Відобразити коротку довідку та вийти.
-H Показати довгу довідку та вийти.
НАВКОЛИШНЄ СЕРЕДОВИЩЕ
Змінна середовища DPROFPP_OPTS можна встановити рядок, що містить параметри для
dprofpp. Ви можете використовувати це, якщо хочете -I над -E або якщо хочете -F на весь час.
Це було додано досить ліниво, тому є деякі небажані побічні ефекти. Варіанти на
командний рядок має замінити параметри в DPROFPP_OPTS, але не розраховуйте на це в цьому
версія.
Використовуйте dprofppp онлайн за допомогою служб onworks.net