以下のようなforkを使用したプログラムの実行時間を計測したいのですが、times関数の使用方法がわかりません。
gettimeofdayを用いて物理的な実行時間を計測することは出来たのですが、
それでは不充分なので、もっと詳細に計測したいのです。
times関数を用いると
・実行中のプロセスが消費したユーザCPU時間
・実行中のプロセスが消費したシステムCPU時間
・子プロセスが消費したユーザCPU時間
・子プロセスが消費したシステムCPU時間
がわかりますよね?sysconf()でクロック時間を得るところまでは出来たのですが、アドバイスお願いします。
#include <stdio.h>
#include <sys/time.h>
#include <sys/times.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
int val ;
struct timeval tv,tw;
gettimeofday(&tv,NULL);
time = times(&t);
switch(fork()) {
case 0:
exit(0) ;
case -1:
perror("child process") ;
break;
default:
wait(&val) ;
}
gettimeofday(&tw,NULL);
time = tw.tv_usec - tv.tv_usec;
printf("child PID = %d\n",cpid);
printf("val = %d\n");
printf("%ldus\n",time);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プロセスIDの取得方法について
-
プロセスのアタッチ・デタッチ...
-
バックグラウンドのプロセスの...
-
ウィンドウのタイトルからプロ...
-
タスクマネージャーのプロセス...
-
sleep関数の精度について
-
C#でのbatファイル実行結果取得
-
完全な乱数を生成する方法
-
explorer.exeが異様にメモリを食う
-
怪しいプロセス教えてください。
-
C++のプログラムをバックグラウ...
-
OSPFでプロセスを分ける意義に...
-
ShellExecuteExでハンドルの取得
-
起動中の他のプログラム(orプ...
-
ADOでアクセスのレコードに...
-
Trend Micro Anti-Malware Solu...
-
ShellExecuteが起動したプロセ...
-
C++でシェルを起動
-
Windowsでのfork方法
-
別のプロセスの関数を呼び出す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
explorer.exeが異様にメモリを食う
-
タスクマネージャーのプロセス...
-
C#でのbatファイル実行結果取得
-
プロセスのアタッチ・デタッチ...
-
VB6.0 SHELLで起動...
-
プロセスIDからウィンドウハ...
-
Process.Startの戻り値を後で取得
-
ウィンドウのタイトルからプロ...
-
他のEXEが起動しているかの確認
-
ADOでアクセスのレコードに...
-
怪しいプロセス教えてください。
-
別のプロセスの関数を呼び出す...
-
C++のプログラムをバックグラウ...
-
Linuxでのスレッド間メッセージ...
-
C++でシェルを起動
-
プロセスIDの取得方法について
-
OSPFでプロセスを分ける意義に...
-
非表示になったエクセルは?
-
Windowsでのfork方法
おすすめ情報