我想對ArrayList(System.Collections - C#)在開始時插入項目的速度進行性能測試。性能測試ArrayList in 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插入項目所花費的時間要比Dictionary所需的時間長得多。這是爲什麼發生?
您可以啓動一個性能分析器,例如[ANTS Profiler](http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/)並查看性能正在發生的變化成。 –
爲什麼要測量'ArrayList'。從.NET 2.0開始已經被棄用了。 –
@亨克抱歉,您能向我解釋爲什麼會出現這種情況嗎?秒錶僅包圍插入 - 而不是其他任何東西。 – BigBug