古いコード

ちょっと現実逃避に半年くらい前に書いたコードに改良を加えたり。
任意テキスト中の全ての任部分文字列の Term Frequency, Document Frequency を線形時間で求めるんだけども、Pentium4 2GHz の PC で100 MBytes のテキストに対する計算時間が6分ぐらいっつうのはまぁ良いとして、メモリを 1 GBytes 近く食うんだよなぁ。どうにかならんかなぁ。とりあえず Range Min Query のためのメモリ使用量が多いんだよな。
つうか、久々に見た自分のコードの設計に目がくらむ。何でこんな設計にしてるんだ。