今回用いたオプションはすべて,最適化を制御するオプションである.
ループ展開(loop unrolling)による最適化を実行する.コンパイル時,もしくは,実行時に 反復回数が決定できるループに対してのみ,この最適化が実行される.
ループ展開(loop unrolling)による最適化を実行する.これは,すべてのループに対して実行され 通常は,プログラムの実行速度はより遅くなる.
試行回数 | 10 | 移住率 | 0.3 |
移住間隔 | 5 | 交叉率 | 0.8 |
遺伝子長 | 100 | 突然変異率 | 0.01 |
負荷 | 100 | 世代数 | 1000 |
試行回数 | 10 | 移住率 | 0.3 |
移住間隔 | 5 | 交叉率 | 0.8 |
遺伝子長 | 100 | 突然変異率 | 0.01 |
負荷 | 50 | 世代数 | 1000 |
試行回数 | 10 | 移住率 | 0.3 |
移住間隔 | 5 | 交叉率 | 0.8 |
遺伝子長 | 100 | 突然変異率 | 0.01 |
負荷 | 10 | 世代数 | 1000 |
プロセス数 | etc | Selection | Migration | Crossover | Mutation | 合計 |
1 | 計測不可 | 計測不可 | 計測不可 | 計測不可 | 計測不可 | 計測不可 |
2 | 計測不可 | 21.742837 | 4.792302 | 3.157590 | 2.039514 | 計測不可 |
4 | 計測不可 | 5.608720 | 2.802851 | 1.461155 | 1.016916 | 計測不可 |
8 | 173.04160 | 1.663831 | 1.785722 | 0.747054 | 0.507647 | 177.74580 |
16 | 86.45640 | 0.550489 | 1.044114 | 0.394354 | 0.254805 | 88.70016 |
32 | 43.18193 | 0.205855 | 0.905255 | 0.216636 | 0.128005 | 44.63768 |
64 | 21.57092 | 0.086134 | 0.697310 | 0.128031 | 0.064585 | 22.54698 |
128 | 12.21032 | 0.081949 | 0.387567 | 0.502294 | 0.315666 | 13.49779 |
プロセス数 | etc | Selection | Migration | Crossover | Mutation | 合計 |
1 | 計測不可 | 86.86325 | 0.004486 | 6.750445 | 4.089184 | 計測不可 |
2 | 計測不可 | 20.77312 | 4.346866 | 2.968899 | 2.035281 | 計測不可 |
4 | 174.97230 | 5.58273 | 2.017771 | 1.458047 | 1.015411 | 185.04630 |
8 | 87.34846 | 1.66112 | 1.102404 | 0.747915 | 0.509063 | 91.36897 |
16 | 43.62265 | 0.54852 | 0.694906 | 0.393090 | 0.254852 | 45.51401 |
32 | 21.78176 | 0.20549 | 0.567830 | 0.217106 | 0.128141 | 22.90032 |
64 | 10.89029 | 0.08619 | 0.458937 | 0.128353 | 0.064978 | 11.62874 |
128 | 5.45488 | 0.04040 | 0.359388 | 0.086545 | 0.033153 | 5.97437 |
プロセス数 | etc | Selection | Migration | Crossover | Mutation | 合計 |
1 | 172.09960 | 88.07413 | 0.003704 | 6.831991 | 4.112855 | 271.12230 |
2 | 76.57698 | 21.29627 | 3.766389 | 3.074150 | 2.038578 | 106.75237 |
4 | 37.87402 | 5.64392 | 1.357294 | 1.466472 | 1.017295 | 47.35900 |
8 | 18.79906 | 1.65707 | 0.563328 | 0.745520 | 0.508383 | 22.27336 |
16 | 9.34423 | 0.54896 | 0.284067 | 0.393268 | 0.255286 | 10.82581 |
32 | 4.64118 | 0.20648 | 0.212748 | 0.217832 | 0.128869 | 5.40711 |
64 | 2.31904 | 0.08680 | 0.189621 | 0.128680 | 0.065420 | 2.78956 |
128 | 1.14869 | 0.04055 | 0.159327 | 0.086168 | 0.032932 | 1.46766 |
次に得た結果をFig:1 ,Fig:2 ,Fig:3 に示す. また,3パターンの結果の合計時間を表したものをFig:4 に示す.
|
|
|
|
実行結果を見ると負荷を高めると,前回の結果と同じくetcの処理時間だけが大きくなった. 目新しい結果としては,負荷が100の場合には交叉と突然変異の処理時間がプロセス数128の場合よりも プロセス数64の場合の方が速くなった.
今後はこの結果に着目して負荷を変化させてプロセス数が増加すると逆に処理が遅くなる点に
ついてさらに調べてみたい.