internal static void TestCorrectness() { Stopwatch sw = new Stopwatch(); IObjectSet objSet; sw.Restart(); objSet = new ObjectSetUsingConditionalWeakTable(); for (int i = 0; i < 10000000; i++) { object obj = new object(); if (objSet.Contains(obj)) { Console.WriteLine("bug!!!"); } if (!objSet.Add(obj)) { Console.WriteLine("bug!!!"); } if (!objSet.Contains(obj)) { Console.WriteLine("bug!!!"); } } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); sw.Restart(); objSet = new ObjectSetUsingObjectIDGenerator(); for (int i = 0; i < 10000000; i++) { object obj = new object(); if (objSet.Contains(obj)) { Console.WriteLine("bug!!!"); } if (!objSet.Add(obj)) { Console.WriteLine("bug!!!"); } if (!objSet.Contains(obj)) { Console.WriteLine("bug!!!"); } } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); }
internal static void TestCorrectness() { Stopwatch sw = new Stopwatch(); IObjectSet objSet; sw.Restart(); objSet = new ObjectSetUsingConditionalWeakTable(); for (int i = 0; i < 10000000; i++) { object obj = new object(); if (objSet.Contains(obj)) { Console.WriteLine("bug!!!"); } if (!objSet.Add(obj)) { Console.WriteLine("bug!!!"); } if (!objSet.Contains(obj)) { Console.WriteLine("bug!!!"); } } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); sw.Restart(); objSet = new ObjectSetUsingObjectIDGenerator(); for (int i = 0; i < 10000000; i++) { object obj = new object(); if (objSet.Contains(obj)) { Console.WriteLine("bug!!!"); } if (!objSet.Add(obj)) { Console.WriteLine("bug!!!"); } if (!objSet.Contains(obj)) { Console.WriteLine("bug!!!"); } } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); }