.NET アプリケーションの高速化について探し始めてみた - その6 - ( ConcurrentDictionary )
ConcurrentDictionary は、スレッド数と初期容量を設定することで若干高速化されます。スレッドセーフなクラスなので、Parallel クラスで処理することも可能です。ソースコードは以下の通りです。
//ConcurrentDictionaryへの要素追加に関する計測
var lisw = Stopwatch.StartNew();
//スレッド数と初期容量を設定する。
var cdictionary = new ConcurrentDictionary<string, object>(4, MAXITEMS);
Parallel.For(0, MAXITEMS, i =>
{
cdictionary[i.ToString()] = i;
});
//var cdictionary = new ConcurrentDictionary<string, object>();
//for (int i = 0; i < MAXITEMS; i++)
//{
// cdictionary[i.ToString()] = i;
//}
lisw.Stop();
以前より、高速化されています。

もう少し高速化できないですかね。今日はもう眠いのでここまでにします。(手抜き....)