Измерение скорости поиска в ListDictionary - C#
Формулировка задачи:
Добрый вечер, подскажите, как практически узнать скорость поиска в ListDictionary.
Наример:
Заполнили 10к значениями, а как узнать скорость поиска в мсек?
Поиск осуществлять через Contains?
Random rand = new Random(); ListDictionary dic = new ListDictionary(); for (int i = 0; i < 10000; ++i) { int n = rand.Next(0, 100); dic.Add(i, "[" + n + "]"); }
Так не получается:
public static long PrintTime(IDictionary myCol) { long time_; long start =(long)(DateTime.Now - new DateTime(1970, 1, 1)).TotalMilliseconds; if (myCol.Contains(676)) { long stop=(long)(DateTime.Now - new DateTime(1970, 1, 1)).TotalMilliseconds; return time_=stop-start; } return -1; }
Решение задачи: «Измерение скорости поиска в ListDictionary»
textual
Листинг программы
public static void PrintTime(IDictionary myCol, int nk) { if (!myCol.Contains(nk)) return; Stopwatch stopwatch = Stopwatch.StartNew(); const int iterations = 100000-1; int count = 0; for (int i=0; i<iterations; i++) { if (myCol.Contains(nk)) { // Выполняем действие внутри if чтобы JIT компилятор не выполнял оптимизаций вызова count++; } } Console.WriteLine(stopwatch.Elapsed/iterations); Console.WriteLine(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д