• 検索結果がありません。

第 5 章 枝刈り機構のオーバヘッドの削減 41

5.4 実験

5.4 実験 51

52 第5章 枝刈り機構のオーバヘッドの削減 計測結果を図 5.5 と図 5.6 に示す.グラフの横軸はプログラムに与えた個々の入力で あり,BASE に対する SPEC の実行時間の比率が昇順になるよう整列している.また,

両グラフの代表的な入力 A H における計測結果の詳細を表 5.1 と表 5.2 に示す.

5.4.1 実行時間

図5.5 a と図 5.6 a はBASE の実行時間に対する SPEC の実行時間の比率を示すグラ

フである.ここでは CPU 時間と GC 時間の合計を実行時間とした.SPEC の実行時間 は概ね BASE の6070%以下であった.いくつかの入力では BASE の10%以下にな るという大きな改善が得られた.改悪した入力は ks において一つだけあったが,その超 過時間は BASE の 3% だけであった.この結果により,粒度調節により実行時間を安定 的に短縮できることが示された.

5.4.2 max

B

min

B

の適用回数

図5.5 bと図5.6 bは,BASE のmaxBminB の適用回数に対する,SPECのmaxBminB の適用回数の比率を示すグラフである.maxBminB の適用回数は実行時間にほ ぼ比例している.この結果は maxBminB の関数適用という,細分化された要求駆動に おけるオーバヘッドを安定的に削減できたことが,実行時間の安定的な短縮をもたらした ことを示している.

SPEC で間引いた近似値の個数と,削減された maxBminB の適用回数を調べると,

近似値を一つ間引くごとに,平均的に,ks では 8 回の maxB の適用を削減でき,pz で は 3 回弱の minB の適用を削減できたことが分かった.このように,近似値の間引きが 関数適用回数の削減に役立ち,結果として実行時間の削減に寄与することが示された.

5.4.3 kspz の適用回数

図 5.5 c と図 5.6 c は,BASE のkspz の適用回数に対する,SPEC の kspz の適 用回数の比率を示すグラフである.BASE は必要最小限の回数しか kspz を呼んでいな いので,SPEC とBASE の差は,間引きにより進めてしまった不要計算の回数である.

ks で,間引きによる不要計算の増大がない場合には,実行時間が 2% 未満と,間引き の効果が高い場合があった.また,多くの場合は不要計算の増大が 515%程度であり,

実行時間は 50% 以下と効果が出ている.また,不要計算が大幅に増大しても実行時間と しては一定の効果があることが示された.ks における不要計算の増大の最大値は 316%

であったが,実行時間の改悪が 3% で済んでいるのは注目に値する.

pz では,多くの入力でSPEC の適用回数が BASEを下回った.その理由は,8 パズル

5.4 実験 53

0.0 0.5 1.0

D C

B A

入力 a. 実行時間の比率

実行時間比(SPEC/BASE)

0.0 0.5 1.0

D C

B A

入力

b. maxB の適用回数の比率

適用回数比(SPEC/BASE)

0.0 1.0 2.0 3.0 4.0

D C

B A

入力

c. ks の適用回数の比率

適用回数比(SPEC/BASE)

5.5 ks の計測結果

54 第5章 枝刈り機構のオーバヘッドの削減

0.0 0.5 1.0

H G

F E

入力 a. 実行時間の比率

実行時間比(SPEC/BASE)

0.0 0.5 1.0

H G

F E

入力

b. minB の適用回数の比率

適用回数比(SPEC/BASE)

0.0 0.5 1.0

H G

F E

入力 c. pzの適用回数の比率

適用回数比(SPEC/BASE)

5.6 pz の計測結果

関連したドキュメント