関数型プログラミング言語Haskell Part15
■ このスレッドは過去ログ倉庫に格納されています
0443デフォルトの名無しさん
2011/08/21(日) 13:06:33.26下の方に列名が COST CENTRE や MODULE などになっている表がある
COST CENTRE の sum1 や sum2 の行の右の方を見てくれ
列名 entries の所が、この関数(sum1 や sum2 は式)に処理が移った回数だ
その右隣の individual %time が処理全体にかかった時間に対する
この関数(式)に費やしたトータルの時間の割合だ
100 と書かれていれば、ほぼ 100% この処理に費やしているという意味
その右側の individual %alloc が処理全体に費やしたメモリ量に対する
この関数(式)に費やしたトータルのメモリ量の割合だ
意味は予想付くと思うが、上記コードの sum1 と sum2 のコメント欄は、
すぐ右隣の式のコストを計測してくれというコンパイラ指示だ
うちの Windows7、GHC 7.0.3 でコンパイルしたところ、
sum1 は 100% の時間 50% のメモリ量、sum2 は 0% の時間 50% のメモリ量だった
つまり、sum2 の式は端折られている(sum1 の値が使い回されている)わけだ
(ちなみに、CPU : core2 duo P8600 2.40GHz で一瞬だった)
とりあえず結果のみだ、こうなる理由はこれから検証してみる
■ このスレッドは過去ログ倉庫に格納されています