我在C中实现了Dijkstra的算法。我尝试使用和不使用OpenMP来比较运行时,但由于某种原因,OpenMP总是较慢。我读到了一些关于新线程有多昂贵的内容,但扩展图表并没有解决它。
我想在这里使用omp
#pragma omp parallel for
for(index=0; index<nodes[n].size; index++){
int ct = nodes[n].paths[index].connectsTo;
if(notVisited[ct]){
int dist = dis[n]+nodes[n].paths[index].weight;
if(dist<dis[ct]){
prev[ct] = n;
dis[ct] = dist;
}
}
}