cプログラムの実行時間を取得するにはどうすればよいですか?

raj123

cプログラムのクロック機能を使用して、現在のプログラムの実行時間を出力しています。出力に間違った時間が表示されます。時間を秒、ミリ秒、マイクロ秒で表示したいのですが。

#include <stdio.h> 
#include <unistd.h>
#include <time.h> 
int main() 
{ 
    clock_t start = clock(); 
    sleep(3);
    clock_t end = clock(); 
    double time_taken = (double)(end - start)/CLOCKS_PER_SEC; // in seconds 

    printf("time program took %f seconds to execute \n", time_taken); 
    return 0; 
} 


time ./time
time program took 0.081000 seconds to execute
real    0m3.002s
user    0m0.000s
sys     0m0.002s

3秒程度の出力が期待できますが、表示が間違っています。ご覧のとおり、私は、Linuxのコマンドの時間を使って、このプログラムを実行する場合、私は正確な時刻を取得しています、私は私のCプログラムを使用して、同じ時間を表示したいです。

chqrlie

一般に信じられていることとは異なり、このclock()関数は経過クロック時間ではなくCPU時間を取得します。これは、名前が紛らわしいことに人々に信じさせる可能性があるためです。

C標準の言語は次のとおりです。

7.27.2.1clock機能

あらすじ

#include <time.h>
clock_t clock(void);

説明

このclock関数は、使用されるプロセッサ時間を決定します。

戻り値

このclock関数は、プログラムの呼び出しにのみ関連する実装定義の時代の始まり以来、プログラムによって使用されたプロセッサ時間に対する実装の最良の近似値を返します。秒単位の時間を決定するには、clock関数によって返される値をマクロの値で除算する必要がありますCLOCKS_PER_SEC使用されているプロセッサ時間が利用できない場合、関数は値を返します(clock_t)(−1)値を表すことができない場合、関数は不特定の値を返します。

経過時間を取得するには、次のいずれかを使用する必要があります。

  • time()1秒の分解能で機能
  • timespec_get()より正確かもしれないが、すべてのシステムで利用できない場合があります機能
  • gettimeofday()Linuxシステムで利用可能なシステムコール
  • clock_gettime()機能。

UNIXのwall-clock-time、user-cpu-time、およびsystem-cpu-timeとは具体的に何ですか?を参照してくださいこのテーマの詳細については。

これは、以下を使用した修正バージョンgettimeoday()です。

#include <stdio.h>
#include <unistd.h>
#include <sys/time.h>

int main() {
    struct timeval start, end;

    gettimeofday(&start, NULL);
    sleep(3);
    gettimeofday(&end, NULL);

    double time_taken = end.tv_sec + end.tv_usec / 1e6 -
                        start.tv_sec - start.tv_usec / 1e6; // in seconds

    printf("time program took %f seconds to execute\n", time_taken);
    return 0;
}

出力:

時間プログラムの実行には3.051333秒かかりました

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonプログラムの実行時間を取得するにはどうすればよいですか?

分類Dev

Perlプログラムの実行時間を取得するにはどうすればよいですか?

分類Dev

プログラムの実行時間を測定するにはどうすればよいですか

分類Dev

プログラムの実行時間を制限するにはどうすればよいですか?

分類Dev

毎日特定の時間に実行するようにJavaアプリをプログラムするにはどうすればよいですか?

分類Dev

oprofileを使用してCプログラムの一部の実行時間を計算するにはどうすればよいですか?

分類Dev

別のCプログラムを同時に複数回実行するプログラムを作成するにはどうすればよいですか?

分類Dev

プログラムの実行時に情報を保存するにはどうすればよいですか

分類Dev

Juliaでプログラムの実行を一時停止するにはどうすればよいですか?

分類Dev

Visual Studio Codeでプログラムを実行するのにかかった時間を確認するにはどうすればよいですか?

分類Dev

実行中のプロセスの実時間を取得するにはどうすればよいですか?

分類Dev

1日の特定の時間にバックグラウンドでプログラムを実行するにはどうすればよいですか?

分類Dev

人間の介入なしに特定の時間にプログラムを自動実行するにはどうすればよいですか?

分類Dev

起動時にプログラムを実行するにはどうすればよいですか?

分類Dev

起動時にプログラムを実行するにはどうすればよいですか?

分類Dev

終了時に同じプログラムを実行するにはどうすればよいですか?

分類Dev

Linuxでプログラムの実行時間を正しく測定するにはどうすればよいですか?

分類Dev

プログラムの100回の実行時間を測定するにはどうすればよいですか?

分類Dev

C#でWindowsによって実行されるプログラム(Windowsの起動時に実行)からユーザーによって実行されるプログラムを診断するにはどうすればよいですか?

分類Dev

サーバー上で約12時間実行されるプログラムを実装するにはどうすればよいですか?

分類Dev

プログラムのロード時間を短縮するにはどうすればよいですか?

分類Dev

長時間実行しているGoプログラムを実行し続けるにはどうすればよいですか?

分類Dev

AppleScriptを使用してプログラムの実行時間を計るにはどうすればよいですか

分類Dev

Linuxでプログラムを実行する時間を制限するにはどうすればよいですか?

分類Dev

実行時にCでプログラムのメモリレイアウトを確認するにはどうすればよいですか?

分類Dev

プログラムの実行時にMicrosoftAzure Speech To Textで文字起こしを開始するにはどうすればよいですか?(Unity、C#)

分類Dev

プログラムの実行時にc#FileSystemWatcher関数を無期限に開始するにはどうすればよいですか?

分類Dev

プログラムの時間を更新するにはどうすればよいですか?

分類Dev

実行時に使用されるJNAバージョンをプログラムで取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    Pythonプログラムの実行時間を取得するにはどうすればよいですか?

  2. 2

    Perlプログラムの実行時間を取得するにはどうすればよいですか?

  3. 3

    プログラムの実行時間を測定するにはどうすればよいですか

  4. 4

    プログラムの実行時間を制限するにはどうすればよいですか?

  5. 5

    毎日特定の時間に実行するようにJavaアプリをプログラムするにはどうすればよいですか?

  6. 6

    oprofileを使用してCプログラムの一部の実行時間を計算するにはどうすればよいですか?

  7. 7

    別のCプログラムを同時に複数回実行するプログラムを作成するにはどうすればよいですか?

  8. 8

    プログラムの実行時に情報を保存するにはどうすればよいですか

  9. 9

    Juliaでプログラムの実行を一時停止するにはどうすればよいですか?

  10. 10

    Visual Studio Codeでプログラムを実行するのにかかった時間を確認するにはどうすればよいですか?

  11. 11

    実行中のプロセスの実時間を取得するにはどうすればよいですか?

  12. 12

    1日の特定の時間にバックグラウンドでプログラムを実行するにはどうすればよいですか?

  13. 13

    人間の介入なしに特定の時間にプログラムを自動実行するにはどうすればよいですか?

  14. 14

    起動時にプログラムを実行するにはどうすればよいですか?

  15. 15

    起動時にプログラムを実行するにはどうすればよいですか?

  16. 16

    終了時に同じプログラムを実行するにはどうすればよいですか?

  17. 17

    Linuxでプログラムの実行時間を正しく測定するにはどうすればよいですか?

  18. 18

    プログラムの100回の実行時間を測定するにはどうすればよいですか?

  19. 19

    C#でWindowsによって実行されるプログラム(Windowsの起動時に実行)からユーザーによって実行されるプログラムを診断するにはどうすればよいですか?

  20. 20

    サーバー上で約12時間実行されるプログラムを実装するにはどうすればよいですか?

  21. 21

    プログラムのロード時間を短縮するにはどうすればよいですか?

  22. 22

    長時間実行しているGoプログラムを実行し続けるにはどうすればよいですか?

  23. 23

    AppleScriptを使用してプログラムの実行時間を計るにはどうすればよいですか

  24. 24

    Linuxでプログラムを実行する時間を制限するにはどうすればよいですか?

  25. 25

    実行時にCでプログラムのメモリレイアウトを確認するにはどうすればよいですか?

  26. 26

    プログラムの実行時にMicrosoftAzure Speech To Textで文字起こしを開始するにはどうすればよいですか?(Unity、C#)

  27. 27

    プログラムの実行時にc#FileSystemWatcher関数を無期限に開始するにはどうすればよいですか?

  28. 28

    プログラムの時間を更新するにはどうすればよいですか?

  29. 29

    実行時に使用されるJNAバージョンをプログラムで取得するにはどうすればよいですか?

ホットタグ

アーカイブ