什么更快,我该如何衡量这些事情?

时间:2017-08-25 05:55:52

标签: c# .net arrays string list

using System.Collections.Generic;
using System.IO

哪种变体更快?

此?

List<short> a = new List<short>();
a.Add(0);
a.Add(1);
a.Add(2);
FileStream fs = new FileStream("file", FileMode.OpenOrCreate, FileAccess.Write){
    using ( BinaryWriter bw = new BinaryWriter(fs)){
        foreach ( short b in a ){
        bw.Write(b);
        }
    }
}

还是这个?

string a = "";
a += "0";
a += "1";
a += "2";
File.WriteAllText("file", a);

还是这个?

short[] a = new short[3];
a[0] = 0;
a[1] = 1;
a[2] = 2;
FileStream fs = new FileStream("file", FileMode.OpenOrCreate, FileAccess.Write){
using ( BinaryWriter bw = new BinaryWriter(fs)){
    foreach ( short b in a ){
        bw.Write(b);
    }
}

}

我想知道这些代码的编写速度有多快,以及如何自己测量速度。

1 个答案:

答案 0 :(得分:0)

除非你知道幕后发生了什么,否则不要试着去猜测性能。相反,重复您的操作足够的时间,它需要几秒钟才能继续,并使用秒表测量每个版本。尝试分离地进行基准测试(并非所有测试都在同一个基准测试中),因为如果检测到它可以使用以前的测试结果,编译器可能会改变你的结果。