public static unsafe void TestRepositoryDictionnary() { Dictionary <VOId, IntPtr> rep = new Dictionary <VOId, IntPtr>(); HighPrecisionTimer timer = new HighPrecisionTimer(); int n = 0; Console.WriteLine("Start..."); ulong ids = 1; MyClasse_B B = new MyClasse_B(); B.Name = "Is it ok ?"; timer.Start(); do { ids++; B.Id = ids; rep.Add(B.Id, (IntPtr)B.Data); n++; if (timer.Milliseconds > 1000) { Console.WriteLine("Iterations : " + n); break; } } while (true); Console.WriteLine("*********************************** !"); timer.Stop(); }
public static void BenchVirtualObjects() { HighPrecisionTimer timer = new HighPrecisionTimer(); int n = 0; Console.WriteLine("Start..."); ulong ids = 1; timer.Start(); do { MyClasse_B B = new MyClasse_B(); B.Id = ids++; B.Name = "Gabriel is in the floers and the camps !"; B.Name = "Veronique had a small car !"; if (B.Name == "Ok") { n = n * 2 / 2; } B.A = 65; n++; if (timer.Milliseconds > 1000) { Console.WriteLine("Iterations : " + n); break; } } while (true); Console.WriteLine("*********************************** !"); timer.Stop(); n = 0; timer.Reset(true); do { MyClasse_B B2 = new MyClasse_B(); B2.Id = ids++; B2.Name = "Le monde est jolie ! Le monde il est beau ! Tout le monde s'aime !"; B2.A = 65; //Repository<ulong>.Add(B2); n++; if (timer.Milliseconds > 1000) { Console.WriteLine("Iterations : " + n); break; } } while (true); timer.Stop(); Console.WriteLine("Block Count : " + MemoryAllocator.BlockCount); Console.WriteLine("Efficiency Ratio : " + MemoryAllocator.EfficiencyRatio); Console.WriteLine("Segment Count : " + MemoryAllocator.SegmentCount); Console.WriteLine("Total Allocated Memory : " + MemoryAllocator.TotalAllocatedMemory); }
public static unsafe void TestRebirth() { MyClasse_B X = new MyClasse_B(); X.City = "Paris"; var cpy = (MyClasse_B)VirtualObjectFactory.Rebirth(X.Data); cpy.B = 15; Console.WriteLine("X = Field City : " + cpy.City); Console.WriteLine("X = Field B : " + cpy.B); Console.WriteLine("CPY = Field City : " + cpy.City); Console.WriteLine("CPY = Field B : " + cpy.B); }
public static unsafe void TestRepository() { VirtualObjectRepository <VOId> rep = new VirtualObjectRepository <VOId>(); HighPrecisionTimer timer = new HighPrecisionTimer(); int n = 0; Console.WriteLine("Start..."); ulong ids = 0; int cnt = 0; timer.Start(); do { MyClasse_B B = new MyClasse_B(); B.City = "Lyon : one of the beutufillest city of France !"; B.Id = ids++; rep.Add(B); n++; if (timer.Milliseconds > 10000) { Console.WriteLine("Iterations : " + n); cnt = n; break; } } while (true); n = 0; Random r = new Random(); timer.Reset(true); do { ids = (ulong)r.Next(cnt - 1); var obj = rep.Get(new VOId(ids)); n++; if (timer.Milliseconds > 10000) { Console.WriteLine("Iterations : " + n); break; } } while (true); Console.WriteLine("*********************************** !"); timer.Stop(); }