感谢您查看帖子
我正在对一些 Cilk Plus 代码进行基准测试,并希望计算完成“生成”操作所需的时间。我有兴趣只计算进行生成所需的时间,而不是 fib() 所需的计算时间。这可能吗?
将计时器放入以下代码中会按预期工作吗?如果我的想法是正确的,将用 timer_start() 和 timer_stop() 替换“// RRS”,完成工作吗?
#include <stdio.h>
#include <stdlib.h>
int fib(int n)
{
if (n < 2) return n;
else {
// RRS: Start timer t1 here ??
int x = cilk_spawn fib(n-1);
// RRS: Stop timer t1 here ??
int y = fib(n-2);
// RRS: Start timer t2 here ??
cilk_sync;
// RRS: Stop timer t2 here ??
return x + y;
}
}
int main(int argc, char *argv[])
{
int n = atoi(argv[1]);
int result = fib(n);
printf("Fibonacci of %d is %d.\n", n, result);
return 0;
}