0

これが私のプログラムの構造です

while(oneMoreTime){
  if(condition1)
    processA
  else
    processB
}

これで初めて、ProcessA が常に実行されます。そして、それが実行されると、いくつかのデータ構造が一緒に構築され、プロセスを高速化するのに役立ちます. ある条件と異なる入力の下で、processB が実行されます。

現在、ProcessA が少なくとも 1 回実行される前に、processB は実行できません。

processA を実行したときより、processB を実行したときの方がどのくらい速度が向上したか知りたいです。

私はCとUbuntuで作業しています。

4

2 に答える 2

2

AQTime などのプロファイラーを使用して、プロセスの実際の実行時間を追跡および記録し、後で分析できるようにします。

于 2013-04-28T09:56:58.447 に答える
1

プロセスAとBで時間を記録できると思います.Cではこれを行うことができます:

#include<time.h>
void ProcessA (...) {
   struct timeval starttime, endtime;
   gettimeofday(&starttime, NULL);
   ...
   ...
   gettimeofday(&endtime, NULL);
   printf("%f\n", 1000000 * (endtime.tv_sec - starttime.tv_sec) + endtime.tv_usec - starttime.tv_usec)   //
}
void ProcessB(...) {
   just like ProcessA
}
于 2013-04-28T10:17:16.483 に答える