名前


profil - 実行時間プロファイル (profile)

書式


#include <unistd.h>

int profil(u_short *buf, size_t bufsiz, size_t offset, u_int scale);

説明


このルーティンはプログラムのどこの部分で時間を費やしているかを調べる 手段を提供する。引き数 bufbufsiz バイトのメモリを指している。仮想の 10 ミリ秒ごとに、ユーザーの プログラム・カウンター (PC) が検査される: offset が引かれ、その結果が scale 倍され 65536 で割られる。 結果が bufsiz より小さい場合は buf の対応するエントリがインクリメントされる。 buf が NULL ならば、プロファイル (profile) は無効にされる。

返り値


常に 0 が返される。

準拠


SVr4 のコールに似ている (しかし POSIX.1-2001 ではない)。

バグ


profil() は ITIMER_PROF itimer を使用するプログラムに使用することはできない。

本当のカーネル・プロファイルはより正確な結果を与える。 libc 4.4 にはシステムコール profil を提供するための カーネルパッチが含まれていた。

関連項目


gprof(1), setitimer(2), sigaction(2), signal(2)

openSUSE Logo

コンテンツ