リンクが遅い

現在SYAKERAKEをHaskellとYesodで書いています.

ゲーム販売webアプリケーションSYAKERAKEを支える技術, HaskellとYesodで作られています - ncaq

開発上常に問題が発生していて, それはビルドに時間がかかるということです.

コンパイルが必要になる時はまあ仕方がないです. 本質的に時間がかかることに対してはハードウェアの更新で対応するしかないです.

しかし, 差分ビルドが有効になっていても, ちょっとした1つのファイルの変更でかなり時間がかかってしまうという問題が発生しています.

どうもビルドの様子を見ていると, ファイルのコンパイル自体は1つのファイルなのでそんなに時間がかかっていませんが, リンクに時間がかかっているようです.

ここで私は1つの記述を見つけました.

GHC now tries to use the gold and lld linkers by default. These linkers are significantly faster than the BFD linker implementation that most Linux distributions use by default. If gold or lld are not available GHC will use the system's default linker. GHC can be forced to use the default linker by passing --disable-ld-override to configure. Blog: GHC 8.2.1 is available – GHC

goldやlldがインストールされている場合はそれを使うという文面ですね.

実際リンクに時間がかかる問題が解決したら生産性が向上します. 見つけた時は非常に忙しかったので斧を研いでいる時間が無かったのですが, やっと時間が出来たので, 試してみましょう.