ページへ戻る
印刷
技術系備忘録/C++/最適化小手先テクニック/STLとMFCのmap速度比較
をテンプレートにして作成 ::
シンクリッジ
xpwiki
:技術系備忘録/C++/最適化小手先テクニック/STLとMFCのmap速度比較 をテンプレートにして作成
開始行:
コーディング小手先テクニックとは多少毛色が違うかもですが...
STL の map と hash_map と、さらに MFC の CMap を比較して...
これら全て同じような機能のものなので、どれを使っても普通...
で、ベンチマークアプリを作って試してみました。
一番ありそうな、文字列(string)をキーとしたマップで、map h...
なお、CMap に関してはハッシュテーブルサイズ(bucketサイズ...
/*
hash_map にはハッシュテーブルサイズを調整するような関数が...
*/
以下は、ベンチマーク結果をグラフにしたものです。(動作環境...
&ref(BenchMapFind.gif,100%);
&ref(BenchMapInsert.gif,100%);
・・・・というわけで、実はかなり意外だったんですが、MFC ...
デフォルトのハッシュテーブル値は17という小さすぎる値なの...
ただ、CMap はハッシュテーブル数の設定によって、パフォーマ...
それを言うと、STLのほうは項目数によらず比較的安定していま...
map はさすがに項目数が増えると徐々に遅くなってますが、has...
とはいえ、実際のケースで考えると、やはり CMap の方がよさ...
・・・がしかし、STL がそこまで溝をあけられてしまうっての...
キーが string ってのが不得意なのか、単純にベンチマークア...
というわけで、ベンチマークアプリのソースを置いておきます...
&ref(BenchMap.zip);
VisualStudio2005 で組んだプロジェクト一式です。MFC を使用...
終了行:
コーディング小手先テクニックとは多少毛色が違うかもですが...
STL の map と hash_map と、さらに MFC の CMap を比較して...
これら全て同じような機能のものなので、どれを使っても普通...
で、ベンチマークアプリを作って試してみました。
一番ありそうな、文字列(string)をキーとしたマップで、map h...
なお、CMap に関してはハッシュテーブルサイズ(bucketサイズ...
/*
hash_map にはハッシュテーブルサイズを調整するような関数が...
*/
以下は、ベンチマーク結果をグラフにしたものです。(動作環境...
&ref(BenchMapFind.gif,100%);
&ref(BenchMapInsert.gif,100%);
・・・・というわけで、実はかなり意外だったんですが、MFC ...
デフォルトのハッシュテーブル値は17という小さすぎる値なの...
ただ、CMap はハッシュテーブル数の設定によって、パフォーマ...
それを言うと、STLのほうは項目数によらず比較的安定していま...
map はさすがに項目数が増えると徐々に遅くなってますが、has...
とはいえ、実際のケースで考えると、やはり CMap の方がよさ...
・・・がしかし、STL がそこまで溝をあけられてしまうっての...
キーが string ってのが不得意なのか、単純にベンチマークア...
というわけで、ベンチマークアプリのソースを置いておきます...
&ref(BenchMap.zip);
VisualStudio2005 で組んだプロジェクト一式です。MFC を使用...
ページ名: