« パスタ記録再開 | メイン | GD::Graph インストール »

2005年05月13日

アルゴリズムは重要です

土曜日に試作して、月曜日に公開予定の新機能を実装中です。

この機能は、あらかじめ計算しておくことが多いのだけど、その計算のアルゴリズムは重要でした。当初は、すべての計算を順番に行っていたのですが、並列して行うようにしたら、劇的に早くなりました。

改良前

real    0m32.751s
user    0m31.270s
sys     0m0.110s

改良後

real    0m4.261s
user    0m3.690s
sys     0m0.060s

実に、計算時間が8分の1くらいになりました。

やっぱりアルゴリズムは重要ですね。そろそろ、古いプログラムを順次リメイクしていくのだけど、プログラムの可読性やメンテナンスを考えつつ、アルゴリズムも見直していきたいですね。

2005年05月13日 03:57 | Development

トラックバック

コメント

「珠玉のプログラミング」っていう本は、けっこう面白かったです。難しかったけど、読むだけなら読みやすい。問題をぜんぶ自分で考えると数ヶ月かかりそう。

投稿者 石橋秀仁 : 2005年05月14日 02:23

>> 石橋秀仁 さん
大学図書館にあるっぽいので、借りてみます。

投稿者 ceekz : 2005年05月15日 03:43

OOPというのは、アルゴリズムを書かなくてよくするために開発された手法だと思う。
しかし、その部品が「思うような動きをしない」場合も往々にしてある、ということが分かりました。
しかし、アルゴリズムを書くには、高い技術が必要ですね。
それだけのものを、持っている人は少ない。

投稿者 JavaMan : 2006年06月29日 11:25