Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

PROF(1)

НАЗВАНИЕ
prof - вывод результатов профилирования

СИНТАКСИС


      prof  [-t] [-c] [-a] [-n] [-o] [-x] [-g] [-z] [-h] [-s] [-m файл_профиля]

            [прогр]

ОПИСАНИЕ
Команда prof интерпретирует файл_профиля, подготовленный с помощью функции monitor(3C). При этом читается таблица имен об ектного файла прогр (по умолчанию a.out) и соотносится с файлом_профиля (по умолчанию mon.out). Для каждого внешнего объекта из секции команд выдается время (в процентах), затраченное на выполнение участка программы между адресом данного объекта и адресом следующего. Кроме того, печатается число вызовов каждой функции и среднее время в миллисекундах, затраченное на один вызов.

Следующие взаимоисключающие опции определяют критерий сортировки выводимых строк:
-t Сортировать по уменьшению доли общего времени (применяется по умолчанию).
-c Сортировать по уменьшению количества вызовов.
-a Сортировать по увеличению адресов.
-n Сортировать по именам лексикографически.

Взаимоисключающие опции -o и -x задают формат вывода адресов объектов:
-o Выводить вместе с именем восьмеричный адрес объекта.
-x Выводить вместе с именем шестнадцатеричный адрес объекта.

Следующие опции можно использовать в произвольной комбинации:
-g Включить в выдачу неглобальные объекты (статические функции).
-z Включить в выдачу все объекты из диапазона профилирования [см. monitor(3C)], даже если соответствующие им количество вызовов и доля общего времени равны нулю.
-h Подавить выдачу обычно печатаемого заголовка. (Данная опция полезна, если результаты предназначены для последующей обработки.)
-s Выдать в стандартный протокол итоговую информацию о профилировании.
-m файл_профиля Использовать в качестве исходного файл_профиля, а не mon.out.

Программа создает файл с данными профилирования, если редактирование связей выполнялось командой cc(1) с опцией -p. При применении данной опции в начало и конец программы вставляются вызовы функции monitor(3C). Второй из этих вызовов приводит к записи файла с результатами профилирования. Если нужно, чтобы для какой-то функции было выдано количество ее вызовов, файл с данной функцией следует компилировать с опцией -p.

Имя файла, создаваемого профилируемой программой, определяется по переменной окружения PROFDIR. В случае отсутствия переменной PROFDIR, в каталоге, текущем на момент окончания программы, создается файл mon.out. Если PROFDIR=цепочка, то создается файл цепочка/идентификатор_процесса.имя_программы, где имя_программы задается аргументом командной строки argv[0] с удаленным маршрутным префиксом. Если значение PROFDIR является пустой цепочкой, то данные о профилировании в файл не записываются.

В целях профилирования функция может быть разбита на подфункции с помощью макроса MARK [см. prof(5)].

ФАЙЛЫ


     mon.out         Подразумеваемый файл профиля.

     a.out           Подразумеваемый файл с таблицей имен.

СМ. ТАКЖЕ
cc(1).
exit(2), profil(2), monitor(3C), prof(5) в Справочнике программиста.

ПРЕДОСТЕРЕЖЕНИЯ
Временные данные, выдаваемые для последовательных идентичных вызовов программы могут варьироваться в пределах 20 и более процентов из-за различий в скорости работы кэш-памяти, разделяемой с другими процессами. Даже если Вам кажется, что программа исполняется на компьютере в гордом одиночестве, то и тогда скрытые фоновые или асинхронные процессы могут исказить получаемые данные. В редких случаях сильное искажение измерений может произойти вследствие наложения циклов в программе и тактов часов, инициирующих запись программного счетчика.

Если не используется опция -g, то время выполнения статических функций приписывается к предыдущим внешним объектам. Однако количество вызовов внешних функций сообщается верно.

ОГРАНИЧЕНИЯ
Создание файла профиля гарантируется только для программ, вызывавших exit(2) или выполняющих возврат из функции main. В других случаях нужно позаботиться о явном заключительном вызове функции monitor.

При использовании для профилирования опции -p в команде cc(1) есть предел числа функций (600), для которых во время выполнения программы подсчитывается число вызовов. Для увеличения этого предела следует вызывать функцию monitor самостоятельно. Если лимит будет превышен, то произойдет наложение данных и файл mon.out окажется испорченным. Число использованных счетчиков сообщается командой prof автоматически в том случае, если оно превысило 5/6 максимума.

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...