Так что я пытаюсь измерить производительность хэш набора я создал по сравнению с выполнением тех же элементов в List
и в следующем блоке кодаПочему мой ElapsedMilliseconds всегда равен нулю здесь?
Stopwatch Watch = new Stopwatch();
long tList = 0, tHset = 0; // ms
foreach (string Str in Copy)
{
// measure time to look up string in ordinary list
Watch.Start();
if (ListVersion.Contains(Str)) { }
Watch.Stop();
tList += Watch.ElapsedMilliseconds;
// now measure time to look up same string in my hash set
Watch.Reset();
Watch.Start();
if (this.Contains(Str)) { }
Watch.Stop();
tHset += Watch.ElapsedMilliseconds;
Watch.Reset();
}
int n = Copy.Count;
Console.WriteLine("Average milliseconds to look up in List: {0}", tList/n);
Console.WriteLine("Average milliseconds to look up in hashset: {0}", tHset/n);
это outputing 0
для обеих сторон. Любая идея, почему это так? Соответствующая документация: https://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch(v=vs.110).aspx
Поскольку операции слишком быстрые, и вы не должны измерять производительность, как это. –