这是我的程序结构
while(oneMoreTime){
if(condition1)
processA
else
processB
}
现在,ProcessA第一次始终运行。一旦运行,就会构建一些数据结构,这有助于我加快进程。 现在在某些条件和不同的输入下,processB将运行。
现在,在ProcessA至少运行一次之前,processB无法运行。
我想知道,当执行processB的时间比执行processA时速度提高了多少?
我正在使用C和Ubuntu。
答案 0 :(得分:2)
使用分析器(例如AQTime)来跟踪和记录流程的实际执行时间,以便您可以对其进行分析。
答案 1 :(得分: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
}