public static void TestAnimal(int iterations) { var tm = new TimeMonitor(); // Run iterations for (var i = 0; i < iterations; i++) { var cm = new OrganismEmulator(); tm.Start(); cm.EmulateOrganism(); lastQuanta = tm.EndGetMicroseconds(); allQuanta.Add(lastQuanta); } // Sort by speed allQuanta.Sort(); // Pick the middle 80% of all iterations for (var i = (int)(iterations * 0.15); i < (int)(iterations * 0.85); i++) { samples++; lastQuanta = (long)allQuanta[i]; if (worstQuanta == 0 && bestQuanta == 0) { worstQuanta = lastQuanta; bestQuanta = lastQuanta; } else { if (lastQuanta > worstQuanta) { worstQuanta = lastQuanta; } if (lastQuanta < bestQuanta) { bestQuanta = lastQuanta; } } totalQuanta += lastQuanta; } }
public static void TestAnimal(int iterations) { var tm = new TimeMonitor(); // Run iterations for (var i = 0; i < iterations; i++) { var cm = new OrganismEmulator(); tm.Start(); cm.EmulateOrganism(); lastQuanta = tm.EndGetMicroseconds(); allQuanta.Add(lastQuanta); } // Sort by speed allQuanta.Sort(); // Pick the middle 80% of all iterations for (var i = (int) (iterations*0.15); i < (int) (iterations*0.85); i++) { samples++; lastQuanta = (long) allQuanta[i]; if (worstQuanta == 0 && bestQuanta == 0) { worstQuanta = lastQuanta; bestQuanta = lastQuanta; } else { if (lastQuanta > worstQuanta) { worstQuanta = lastQuanta; } if (lastQuanta < bestQuanta) { bestQuanta = lastQuanta; } } totalQuanta += lastQuanta; } }