だんごチェック自己記録測定会

とりあえず自分の作った、3種類のだんごチェック関数に関して処理時間を計測してみました。
真→真だんごチェック
2→だんごチェック2
1→だんごチェック

ユニット数(全て集合)
1 18.78 14.54 11.46
3 47.82 38.68 28.64
5 76.12 60.38 44.90
7 101.66 85.84 62.18
10 142.94 118.58 84.04
20 282.52 236.88 162.50

単位はミリセコンド
やはりというか、再帰関数でできている「1」の処理時間の短さは圧倒的でした。まあ、以前にも述べたように、SRCにおいては再帰関数も他の部分が欠点だらけですが。
関数というのは、呼び出されるたびに、メモリを必要な分だけ割り当て、終了したらその割り当てられたメモリを解放します。再帰関数は処理が終了しないうちに、更に自分を呼び出していくので、どんどんメモリを削っていくんですよね。なので、ユニット数が膨大な数になったりすると、PC自体が不都合を起こしてしまうでしょうね。まあ、SRCのシステムで最大呼び出し数が決められているので、実際にそんなことは起きませんが。
ちなみに、「真」と「2」に関しては、全く同等のアルゴリズムを使った上で、真には機能拡張を施したので、まあこんなもんでしょうか。
まあ、全部わかりきっていたことなんで、特に収穫があったわけではありません。が、強いていうとすれば、
どんなアルゴリズムも一長一短。
処理時間の短縮を求めるならば、然るべき使用場所を見極めるのが重要、といったところでしょうか。
まだまだコンピュータに関しては素人なので、これからも精進精進。