GHCのコンパイル速度は、お世辞にも速いとは言えないのだが、一番イライラするのはリンクが遅いこと。これは GNU ld が遅いからである。という訳で、速いと言われる gold を使うためのメモ。 GHC 7.6.3 までは gold が使えない。なぜなら、GNU ld 固有のオプションである --hash-size と --reduce-memory-overheads がハードコードされており、これらを gold がサポートしてないからだ。 GHC 7.8 以降からは、リンカーに応じてオプションを変えるようになる。僕は GHC head で試した。以下のいずれかをやると、gold が使える。 ld のシンボリックリンクを ld.gold に向ける (Linux で binutils-gold をインストールするとこうなる。) cabal に --with-ld=ld.gold を指定する