PROFIL(3) |
Linux Programmer's Manual |
PROFIL(3) |
名前
profil -実行時間プロファイル (profile)
書式
#include <unistd.h>
int profil(unsigned short *
buf
, size_t
bufsiz
, size_t
offset
, unsigned int
scale
);
glibc 向けの機能検査マクロの要件 (
feature_test_macros(7) 参照):
profil(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
説明
このルーティンはプログラムのどこの部分で時間を費やしているかを調べる手段を提供する。引き数
buf は
bufsiz バイトのメモリを指している。仮想の 10 ミリ秒ごとに、ユーザーのプログラム・カウンター (PC) が検査される:
offset が引かれ、その結果が
scale 倍され 65536 で割られる。結果が
bufsiz より小さい場合は
buf の対応するエントリがインクリメントされる。
buf が NULL ならば、プロファイル (profile) は無効にされる。
返り値
常に 0 が返される。
準拠
SVr4 のコールに似ている (しかし POSIX.1-2001 ではない)。
バグ
profil() は
ITIMER_PROF インターバル・タイマーも使用しているプログラムでは使用できない (
setitimer(2) 参照)。
本当のカーネル・プロファイルはより正確な結果を与える。 libc 4.4 にはシステムコール profil を提供するためのカーネルパッチが含まれていた。
関連項目
gprof(1),
setitimer(2),
sigaction(2),
signal(2)
この文書について
この man ページは Linux
man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。