[[PageNavi(NavigationList)]]
==== ベンチマーク結果 ====
それではベンチマーク結果を見てみよう。sql-benchには9つのベンチマークが含まれているが、それらを起動してから実行完了するまでにかかった時間を比較したものが'''表4'''だ。
{{{ html
<h6>表4 インテル コンパイラー(ICC)版バイナリとGCC版バイナリのベンチマーク結果</h6>
<table class="wikitable" border="1">
<tr><th>ベンチマーク項目</th><th>ICC版</th><th>GCC版</th></tr>
<tr><td>alter-table</td><td>18.3秒</td><td>31.7秒</td></tr>
<tr><td>ATIS</td><td>3.7秒</td><td>3.3秒</td></tr>
<tr><td>big-tables</td><td>3.0秒</td><td>4.0秒</td></tr>
<tr><td>connect</td><td>50.0秒</td><td>50.7秒</td></tr>
<tr><td>create</td><td>248秒</td><td>249秒</td></tr>
<tr><td>insert</td><td>648秒</td><td>663秒</td></tr>
<tr><td>select</td><td>44.7秒</td><td>59.0秒</td></tr>
<tr><td>wisconsin</td><td>4.0秒</td><td>3.7秒</td></tr>
</table>
}}}
また、GCC版の結果を1とした場合の相対的な実行結果を示したものが'''図1'''である。
[[Thumb(7c44497dd5cc988cab94e01f053f0dd6.png, caption=図1 ベンチマークの実行結果(相対時間比較))]]
ベンチマーク結果でまず目を引くのが、alter-tableテストおよびselectテスト実行の結果である。インテル コンパイラー版バイナリはGCC版バイナリと比べ、alter-tableテストでは約6割、selectテストでは約8割ほどの時間でテストを完走できている。ATISおよびwisconsinテストではGCC版のほうがインテル コンパイラー版よりも若干速かったが、これらについてはそれぞれ0.4秒、0.3秒という僅差である。
また、wisconsinベンチマークによって測定されたSQLコマンドごとのパフォーマンスをまとめたものが'''表5'''である。この表は、それぞれのSQLコマンドを一定回数実行するのにどれだけ時間がかかったか、というのを示しており、数値が小さいほどパフォーマンスが高い。この結果を見ると、インテル コンパイラー版バイナリはテーブルへの項目追加/削除といった操作が大幅に高速化されていることが分かるほか、データの並び替えやキャッシュされたテーブルのselect、キーの更新などもインテル コンパイラー版バイナリの方が高速、という結果となっている。
{{{ html
<h6>表5 SQLコマンドごとのパフォーマンス比較(抜粋)</h6>
<table class="wikitable" border="1">
<tr><th rowspan="2">操作</th><th colspan="2">所要時間(秒)</th></tr>
<tr><th>ICC版</th><th>GCC版</th></tr>
<tr><td>alter_table_add</td><td>7.3</td><td>13.7</td></tr>
<tr><td>alter_table_drop</td><td>7.7</td><td>13.3</td></tr>
<tr><td>count</td><td>3.0</td><td>8.7</td></tr>
<tr><td>insert_key</td><td>137.3</td><td>140.3</td></tr>
<tr><td>order_by_big</td><td>9.0</td><td>10.7</td></tr>
<tr><td>order_by_big_key</td><td>8.7</td><td>10.0</td></tr>
<tr><td>order_by_big_key_desc</td><td>9.0</td><td>10.7</td></tr>
<tr><td>order_by_big_key_diff</td><td>9.0</td><td>10.7</td></tr>
<tr><td>order_by_big_key_prefix</td><td>8.3</td><td>9.3</td></tr>
<tr><td>prepared_select</td><td>16.3</td><td>18.0</td></tr>
<tr><td>select_big</td><td>8.7</td><td>9.7</td></tr>
<tr><td>select_cache2</td><td>26</td><td>39.7</td></tr>
<tr><td>select_key</td><td>30.3</td><td>27.0</td></tr>
<tr><td>select_key2</td><td>32.7</td><td>28.7</td></tr>
<tr><td>select_key2_return_key</td><td>30.3</td><td>27.3</td></tr>
<tr><td>select_key2_return_prim</td><td>31.7</td><td>28.0</td></tr>
<tr><td>select_key_prefix</td><td>32.3</td><td>28.0</td></tr>
<tr><td>select_key_return_key</td><td>29.0</td><td>26.3</td></tr>
<tr><td>update_of_key</td><td>6.7</td><td>21.0</td></tr>
<tr><td>update_of_primary_key_many_keys</td><td>42.0</td><td>37.0</td></tr>
</table>
}}}
[[PageNavi(NavigationList)]]