請問非常多層的for迴圈如何加速呢?

 

如題、我測試迴圈層數與架構越多、每跑完成一圈的時間越長

請問有什麼辦法能解決這個問題嗎?

迴圈語法大概框架如下、請問有什麼方法能夠改良呢?


for(int a=0;a<=10;a++){

  for(int b=0;b<=10;b++){

    for(int c=0;c<=10;c++){

      for(int d=0;d<=10;d++){

        for(int e=0;e<=10;e++){

          for(int f=0;f<=10;f++){

...........

          }

        }

      }

    }

  }

}

 

把int a,b,c,d,e,f...提到最外面,减少定义/初始化的开销。

循环次数大的放在内层,次数小的放在外层,如果你实际都是10,那么没有什么办法解决。

剩下的,基本上不管你怎么改,编译器都会帮你优化,其结果都是一样的。

 
修改算法估计才行
 
用并行计算,OPENCL
原因: