私のような老兵が今の若者に過去の苦難を語る機会など急速に減りつつある昨今、コンパイラの最適化についてまたひとつ通説が伝説と化しました。
おそらく MS-DOS 時代を駆け巡った方々にはおなじみであろう通説、それは「コンパイラは2重ループの最適化が苦手」というものです。読んで字のごとく、コンパイラは最適化オプションをつけても、ハイパフォーマンスな2重ループのコードを吐きだしてくれなかったのです。そんなわけで、2重ループの代表的な用途であるブロック転送などをアセンブラでガリガリやっていた時代があったのですが、先日、某天才プログラマーに言われてしまいました。
聞く話によると最近のコンパイラは2重ループも速いそうです。知りませんでしたなぁ…。冷静に考えてみると Win32API でゲームが作れるくらい最近のマシンスペックとテクノロジーは進化しているわけですよね。最近、アセンブラ書いてないです。これは幸せなことなのかもしれません。
Contributions