|
HPC/並列プログラミングポータルでは、HPC(High Performance Computing)プログラミングや並列プログラミングに関する情報を集積・発信しています。 |
[記事一覧を見る]
それではベンチマーク結果を見てみよう。sql-benchには9つのベンチマークが含まれているが、それらを起動してから実行完了するまでにかかった時間を比較したものが表4だ。
| ベンチマーク項目 | ICC版 | GCC版 |
|---|---|---|
| alter-table | 18.3秒 | 31.7秒 |
| ATIS | 3.7秒 | 3.3秒 |
| big-tables | 3.0秒 | 4.0秒 |
| connect | 50.0秒 | 50.7秒 |
| create | 248秒 | 249秒 |
| insert | 648秒 | 663秒 |
| select | 44.7秒 | 59.0秒 |
| wisconsin | 4.0秒 | 3.7秒 |
また、GCC版の結果を1とした場合の相対的な実行結果を示したものが図1である。
ベンチマーク結果でまず目を引くのが、alter-tableテストおよびselectテスト実行の結果である。インテル コンパイラー版バイナリはGCC版バイナリと比べ、alter-tableテストでは約6割、selectテストでは約8割ほどの時間でテストを完走できている。ATISおよびwisconsinテストではGCC版のほうがインテル コンパイラー版よりも若干速かったが、これらについてはそれぞれ0.4秒、0.3秒という僅差である。
また、wisconsinベンチマークによって測定されたSQLコマンドごとのパフォーマンスをまとめたものが表5である。この表は、それぞれのSQLコマンドを一定回数実行するのにどれだけ時間がかかったか、というのを示しており、数値が小さいほどパフォーマンスが高い。この結果を見ると、インテル コンパイラー版バイナリはテーブルへの項目追加/削除といった操作が大幅に高速化されていることが分かるほか、データの並び替えやキャッシュされたテーブルのselect、キーの更新などもインテル コンパイラー版バイナリの方が高速、という結果となっている。
| 操作 | 所要時間(秒) | |
|---|---|---|
| ICC版 | GCC版 | |
| alter_table_add | 7.3 | 13.7 |
| alter_table_drop | 7.7 | 13.3 |
| count | 3.0 | 8.7 |
| insert_key | 137.3 | 140.3 |
| order_by_big | 9.0 | 10.7 |
| order_by_big_key | 8.7 | 10.0 |
| order_by_big_key_desc | 9.0 | 10.7 |
| order_by_big_key_diff | 9.0 | 10.7 |
| order_by_big_key_prefix | 8.3 | 9.3 |
| prepared_select | 16.3 | 18.0 |
| select_big | 8.7 | 9.7 |
| select_cache2 | 26 | 39.7 |
| select_key | 30.3 | 27.0 |
| select_key2 | 32.7 | 28.7 |
| select_key2_return_key | 30.3 | 27.3 |
| select_key2_return_prim | 31.7 | 28.0 |
| select_key_prefix | 32.3 | 28.0 |
| select_key_return_key | 29.0 | 26.3 |
| update_of_key | 6.7 | 21.0 |
| update_of_primary_key_many_keys | 42.0 | 37.0 |
[PageInfo]
LastUpdate: 2009-11-18 20:35:42, ModifiedBy: hiromichi-m
[Permissions]
view:all, edit:login users, delete/config:members