F# の Project Euler 26 コードを改良した

昨日のエントリの続報です。

F#版改良コード

剰余シーケンス生成関数と、剰余の既出判定関数を一つにまとめました。パフォーマンスに悪影響を与えている疑惑がある 遅延シーケンス操作部分を無くすのが目的です。結果、桁違いに早くなりました。

前回 15 秒以上かかっていたものが、なんと、0.15 秒にまで縮まりました。100倍の高速化!...というか前のものが通常の 1/100 のダメコードだったわけですが。
F# の遅延シーケンスは Clojure と比べて取り扱いが難しいのかもしれません。