PROFIL(2) — NEWS-OS Programmer’s Manual
名称
profil − 実行時間プロフィル
形式
profil(buff, bufsiz, offset, scale)
char ∗buff;
int bufsiz, offset, scale;
解説
buff は、 bufsiz によって与えられた(バイト単位) 長さのコアのある領域を 指します。 このコールの実行後は、 クロックの分解度(10ミリ秒)毎に、 そのユーザのプログラムカウンタ(pc)が調べられ、 offset がその値から減算され、 その結果に scale が乗算されます。 結果として得られた数値が、 buff 内のワードに対応している場合には、 そのワードはインクリメントされます。
scale は、 16ビットの小数部を 有する符号なしの固定小数点数として解釈されます。 0x10000 は、 pc と buff 内のワードの 1 対 1 のマッピングを 与えます。 0x8000 は、 命令ワードの各ペアを 一緒にマッピングします。
プロフィーリングは、 0 または 1 の scale を 与えることによってオフにされます。 また、 0 の bufsiz を 与えることによって、 働かなくすることもできます。 プロフィーリングは、 execve が実行されるときにはオフに切り替えられますが、 fork の実行後には、 子と親との両方で存続します。 プロフィーリングは、 buff の更新がメモリエラーを 引き起こした場合には、 オフになります。
リターン値
成功を示す 0 が常に返されます。
関連事項
gprof(1), setitimer(2), monitor(3)
NEWS-OSRelease 4.1C