为什么队列似乎比列表慢

时间:2019-06-22 11:33:08

标签: c#

为了真正了解不同类型的列表之间的差异,我制作了一个程序来计算使用该列表所花费的时间。我发现队列似乎比列表慢...而且我不知道为什么

我使用下面的代码,并且总是使用几次(以消除第一次尝试和较慢的尝试),并且还希望获得更好的平均值

对于列表,我使用此代码

stopwatch = new Stopwatch();
stopwatch.Start();

for (int j = 0; j < Iter; j++)
{
    List<int> list = new List<int>();

    for (int i = 0; i < Iter; i++)
    {
        list.Add(i);
    }
    int sum = 0;
    for (int i = 0; i < Iter; i++)
    {
        sum += list[i];
    }
}
stopwatch.Stop();
label1.Text = stopwatch.ElapsedMilliseconds.ToString();

用于队列

stopwatch = new Stopwatch();
stopwatch.Start();

for (int j = 0; j < Iter; j++)
{                
    Queue<int> list = new Queue<int>();
    for (int i = 0; i < Iter; i++)
    {
        list.Enqueue(i);
    }
    int sum = 0;
    for (int i = 0; i < Iter; i++)
    {
        sum += list.Dequeue();
    }
}
stopwatch.Stop();
label6.Text = stopwatch.ElapsedMilliseconds.ToString();

我希望排队会更快...但是事实并非如此 队列比列表慢25%

0 个答案:

没有答案