2012-04-08 29 views
0

感谢寻找在后如何计算时间为cilk_spawn

我标杆一些的Cilk加代码,并一直在寻找计算完成“重生”操作所需的时间。我只想计算产生spawn所需的时间,而不是计算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; 
} 

回答

0

回答我的问题:

我能够把一些计时器开始/停止在注释行“// RRS”语句和计数时间产卵忠实。

谢谢关注。