0

我有这个顺序代码:

int fib(int n) {
int x, y;

if (n < 2)
return n;
x = fib(n-1);
y = fib(n-2);
return x + y;
}

而这个并行代码:

int fib(int n) {
int x, y;

if (n < 2)
return n;

#pragma omp task shared(x)
x = fib(n-1);

#pragma omp task shared(y)
y = fib(n-2);

#pragma omp taskwait
return x + y;
}

openmp 并行代码比串行代码慢。我使用 tdm-gcc 7.4。我在斐波那契运行时没有打开其他程序。怎么了?

4

0 回答 0