Измерение скорости поиска в 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();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д