public void TestSearchPerformance() { ArraySegmentList <char> sourceA = new ArraySegmentList <char>(); List <char> sourceB = new List <char>(); char[] element = null; for (var i = 0; i < 100; i++) { element = Guid.NewGuid().ToString().ToCharArray(); sourceA.AddSegment(element, 0, element.Length); sourceB.AddRange(element); } char[] mark = element.Take(4).ToArray(); int testCount = 1000; GC.Collect(); Stopwatch watch = new Stopwatch(); watch.Start(); for (var i = 0; i < testCount; i++) { sourceA.SearchMark(mark); } watch.Stop(); Console.WriteLine(watch.ElapsedMilliseconds); watch.Reset(); GC.Collect(); watch.Start(); for (var i = 0; i < testCount; i++) { sourceB.SearchMark(mark); } watch.Stop(); Console.WriteLine(watch.ElapsedMilliseconds); }
public void TestSearchPerformance() { ArraySegmentList<char> sourceA = new ArraySegmentList<char>(); List<char> sourceB = new List<char>(); char[] element = null; for (var i = 0; i < 100; i++) { element = Guid.NewGuid().ToString().ToCharArray(); sourceA.AddSegment(element, 0, element.Length); sourceB.AddRange(element); } char[] mark = element.Take(4).ToArray(); int testCount = 1000; GC.Collect(); Stopwatch watch = new Stopwatch(); watch.Start(); for (var i = 0; i < testCount; i++) { sourceA.SearchMark(mark); } watch.Stop(); Console.WriteLine(watch.ElapsedMilliseconds); watch.Reset(); GC.Collect(); watch.Start(); for (var i = 0; i < testCount; i++) { sourceB.SearchMark(mark); } watch.Stop(); Console.WriteLine(watch.ElapsedMilliseconds); }