profil -
профилирование
времени
работы
Standard C library (
libc,
-lc)
#include <unistd.h>
int profil(unsigned short *buf, size_t bufsiz,
size_t offset, unsigned int scale);
profil():
начиная с glibc 2.21:
_DEFAULT_SOURCE
в glibc 2.19 и 2.20:
_DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
до glibc 2.19, включительно:
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
Эта
функция
позволяет
выяснить
какие
области
вашей
программы
работают
больше
всего. В
аргументе
buf
указывается
bufsiz байт
ядра.
Каждые 10
виртуальных
миллисекунд
проверяется
пользовательский
программный
счётчик (PC):
из него
вычитается
offset,
умножается
на
scale и
делится на
65536. Если
полученное
значение
меньше
bufsiz,
то в
buf
увеличивается
соответствующая
запись.
Если
buf
равно NULL,
профилирование
выключено.
Всегда
возвращается
ноль.
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
profil() |
Безвредность
в нитях |
MT-Unsafe |
Подобно
вызову в SVr4
(но не POSIX.1).
Функцию
profil()
нельзя
использовать
на
программе,
которая
также
использует
таймеры
интервалов
ITIMER_PROF
(смотрите
setitimer(2)).
True kernel profiling provides more accurate results.
gprof(1),
sprof(1),
setitimer(2),
sigaction(2),
signal(2)
Русский
перевод
этой
страницы
руководства
был сделан
Alexey, Azamat Hackimov <
[email protected]>, kogamatranslator49
<
[email protected]>, Kogan, Max Is <
[email protected]>, Yuri
Kozlov <
[email protected]> и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]