Dictionary<string,bool>でパフォーマンスチェック
foreach( var i in Enumerable.Range(0,16))
{
var dic = new Dictionary();
var sw = new Stopwatch();
sw.Start();
foreach( var j in Enumerable.Range(0,10000))
{
dic[new string('*',1<<i)+j]=true;
}
sw.Stop();
((1<<i) +":"+ sw.ElapsedMilliseconds).Dump();
dic = null;
GC.Collect();
}
↑をLINQPadで動かしたんす↓。
1:5
2:3
4:3
8:3
16:3
32:21
64:10
128:12
256:19
512:44
1024:56
2048:116
4096:239
8192:444
16384:828
32768:1563
2:3
4:3
8:3
16:3
32:21
64:10
128:12
256:19
512:44
1024:56
2048:116
4096:239
8192:444
16384:828
32768:1563
そーねー。256と512の境と1024と2048の境目かー。キーが長くて、要素が多いと困るんすね。