等閑に付さないように

RSS

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
そーねー。256と512の境と1024と2048の境目かー。キーが長くて、要素が多いと困るんすね。