为什么并行还更慢啊?
godss 2007-06-27 09:15:18 #pragma omp parallel sections // parallel region 1
{
#pragma omp section
{
for(i=0 ; i<n/2 ; i++)
{
double t=a[i]*a[i+1]*a[i+2]*a[i+3];
if( max1<t )
max1=t;
}
printf("num of t in section1 %d\n",omp_get_num_threads());
}
#pragma omp section
{
for(j=n/2 ; j<n-3 ; j++)
{
double t=a[j]*a[j+1]*a[j+2]*a[j+3];
if( max2<t )
max2=t;
}
printf("num of t in section2 %d\n",omp_get_num_threads());
}
}
max=max1>max2?max1:max2;
printf("%lf\n",max);
printf("%d\n\n",GetTickCount()-t1);
这段比完全串行花费的时间好象还多4倍……谁能帮帮我啊