[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:100151] timesシステムコールについて


初めまして、コダマと申します。
Linuxを使ってCプログラミングをしています。

今、自分が作成したプログラムについてCPU時間をどれだけ
使用しているのか測定したいと思ってます。
いろいろとAPIを調べてみたところ、times()やclock()が
どうも使えそうだということがわかりました。

で、シンプルなテストプログラムで試してみたのですが
測定値がtimes()、clock()ともに0となってしまいます。
何か使い方が悪いのでしょうか?
ご存知の方、恐れ入りますが助言お願いいたします。

因みに環境は
OS:Red Hat Linux 7.3
gccのバージョン:2.96
です。

以上、よろしくお願いします。

-------- テストプログラム
#include <stdio.h>
#include <stdlib.h>
#include <sys/times.h>
#include <sys/types.h>
#include <time.h>

int
main(int argc, char *argv[]) {
    struct tms time_info;
    long start,end,s,e;
    clock_t ret;
    int i,n;

    s = (long)clock();
    ret = times(&time_info);
    if(ret < 0) {
       perror("times");
       exit(1);
    }
    start = (long)time_info.tms_utime;

    for(i=0;i< 100000;i++){
      n++;
    }

    e = clock();
    ret = times(&time_info);
    if(ret < 0) {
       perror("times");
       exit(1);
    }
    end = (long)time_info.tms_utime;

    printf("times(%ld), clock(%ld)\n",start,s);
    printf("times(%ld),clock(%ld)\n",end,e);
}

----------- ここまで

 

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: