给出下一次迭代:
double calculateClusterDistance(Cluster* cluster, const int NUM_OF_DIMENSIONS)
{
double tempRadius = 0;
int i, j;
#pragma omp parallel for private (i, j) shared(cluster)
for(i = 0 ; i < cluster->numOfPoints ; i++)
{
for(j = 0 ; j < cluster->numOfPoints ; j++)
{
if(i != j)
{
double calculatedRadius = getDistanceBetweenTwoPoints(cluster->points[i], cluster->points[j], NUM_OF_DIMENSIONS);
if(calculatedRadius > tempRadius)
{
tempRadius = calculatedRadius;
}
}
}
}
return tempRadius;
}
当我发表评论时,程序运行得更快。 平均而言,cluster-&gt; numOfPoints在60-70之间。 有什么帮助吗?
编辑:
我使用
衡量时间clock_t start, finish;
start = clock();
finish = clock();
在此功能之前和之后。
没有omp,它将是大约1.8秒 对于omp,它将是大约3.2~sec