Glasgow Haskell Compiler(GHC)は、関数型言語Haskellの主要コンパイラです。GHCは(並列性に加えて)並行性を主要な目的として長年開発されてきました。そのため、GHCには、 軽量スレッド(グリーンスレッド) マルチコア用の軽量スレッド・スケジューラ マルチコア上での効率的なメモリアロケータ マルチコア用のガベージコレクタ など、マルチコアで簡潔に並行性を実現するための部品が揃っています。そこで、Haskellで Web サーバなどの並行プログラムを書き、GHC でコンパイルすれば、マルチコア環境でスケールするのを期待したくなります。 残念ながら GHC 7.6.3 までは、入出力を司るIOマネージャの実装にボトルネックがあり、マルチコア環境でスケールしませんでした。エール大学のAndreas Voellmy氏と筆者は、IOマネージャの改良に取り組み、その成果
![マルチコアでスケールするようになったHaskell | IIJの技術 | インターネットイニシアティブ(IIJ)](https://cdn-ak-scissors.b.st-hatena.com/image/square/471ee4d0ea1a43fc4ccf1ec9e34b1cd65b581419/height=288;version=1;width=512/https%3A%2F%2Fwww.iij.ad.jp%2Fcommon%2Fimages%2Fogp_image.png)