Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       profil - профилирование времени работы

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <unistd.h>

       int profil(unsigned short *buf, size_t bufsiz,
                  size_t offset, unsigned int scale);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       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
       <azamat.hackimov@gmail.com>,   kogamatranslator49  <r.podarov@yandex.ru>,  Kogan,  Max  Is
       <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.