3年前のリライト

3年前に書いたソフトが、扱うデータが多くなってきて、処理に非常に時間がかかる、ということで、修正してみました。


とりあえず、ループ内の余計な処理を削除して、事前に処理できるものはループ外に出して…みたいな単純な対策をしてみます。
最初は、とりあえず数倍の速度が出ればよし。
その後、マルチスレッド化して、マルチコアのCPUで動かしてもらおうか、とか考えてたんですが、動かしてみたら10倍くらい早くなってて驚きです。
まあ、早くなった分、メモリは倍くらい使うようになりましたが、今のご時勢、多少消費メモリが増えたところでたいしたことないですね。



最初に作ったときにいかに無駄な処理をしていたか、がよくわかると同時に、アルゴリズムはやっぱり大事だなぁ、と実感しました。
ま、あれだけ高速化できた、ということは、それなりに自分の腕が上がった、とも考えられる・・・かな?