Я хочу провести тест производительности, показывающий, как быстро ArrayList (System.Collections - C #) может вставлять элемент в начале.
Я открыл файл для чтения строк данных, настроил секундомер, а также создал ArrayList для добавления элементов (следующим образом):
Stopwatch watchTime = new Stopwatch();
Double totalTime = 0;
using (StreamReader readText = new StreamReader("data.txt"))
{
String line;
Int32 counter = 0;
while ((line = readText.ReadLine()) != null)
{
}
}
Я использую счетчик, чтобы отследить, сколько предметов я ввожу в ArrayList.
В цикле while у меня есть следующее:
watchTime.Start();
theList.Insert(0, line);
watchTime.Stop();
Double time = watchTime.Elapsed.TotalMilliseconds;
totalTime = totalTime + time;
Console.WriteLine(time);
watchTime.Reset();
++counter;
Это правильный способ проверить, как быстро происходит вставка элементов в начало ArrayList ??
Я сделал еще одну программу, которая делает то же самое, но с использованием словаря. К моему удивлению, время, необходимое для вставки элементов в этот ArrayList, намного больше, чем время, которое занимает Словарь. Почему это происходит?