時間も体力も気力も…

もう時間がないので、必死に頑張った。
昨日から21個のバグをつぶした。
もう限界だ。
プログラムはそれなりに動くようになった。
動かしたいプログラムはパラメータを弄ったら
なぜか動くようになった。理由はやはり不明。
別のタイプのプログラムも走らせて見て、
抜けている実装も補った。
いろいろ考えている途中で、
一つ重大な考慮抜けに気が付いた。
これはちょっともういちど良く考えないと
根本的に正しい実装がわからないような
感じなので、もう、そこは今のままでもある程度
動いてしまっているので、よしとすることにした。
(というか、そういうことにさせて欲しい)
性能測定中、変なところで引っかかるのに気付いた。
どうやらメモリブロックの解放で数秒待たされている。
そんなばかな、と思いながらメモリ解放のルーチンを読む。
なんちゅうしょぼいアルゴリズムなんだ。
ReplicationとこのGHCのメモリ解放が合わさると
非常に遅くなってしまうと言うのは分かった。
分かったが、こんなところで時間を食っては
何のためにincrementalなGCを実装したか分かったものではないので、
回避策を考えて実装する。
理論的には一万倍程度には高速化されたはずだが、
どんなもんだろうか。
あとは、卒論としてどの程度の実装ができていなければならないのかだが、
完全にバグをなくすのは非常に大変なので、
この程度は許してほしいようなきがする…


さて、夜も完全に明けて、体の節々も痛いので、
仮眠をとることにしよう…。