Haskellで書いたファイル変換プログラムで、 Integerのreadが遅過ぎて、 実行時間の半分くらいを占めていて、 まいってしまった。

すべての中間データをIntegerで作ってしまっているせいで、 効率が悪い&GC負荷が上がってしまっているので、 Wordに収まる桁数毎にWordで計算してから、 Integerに足し合わせるようにし、かつ中間のWordはworker-wrapper transformationでアンボックス化できそうな使い方にした。

そしたら、だいぶマシになった。