1

我最近重新编写了我的文件格式编写库。我意识到我的代码很乱,让一切都变得太复杂,而且通常很难维护。

所以我的新图书馆更有条理和干净。我意识到我在旧库中完成任务的许多方法比它需要的要复杂得多,所以我希望我的新代码更快。

嗯,不完全是。我首先使用 .Net 框架中的 Stopwatch 类来测试性能。我的旧库始终更快,这让我感到震惊,因为有太多的改进和优化无法计算。

然后我使用 dotTrace Performance Profiler 对两者进行了测试。正如预期的那样,我的新库更快了——快了大约 2!我的旧库测量了 62 毫秒,而我的新库测量了 28 毫秒!

所以我不确定发生了什么。在 Visual Studio 中,我的新库要慢得多 - 事实上,它非常不一致,它的时间范围从 00::00::00.042 到 00::00::00.351!

有谁知道为什么会发生这种情况?dotTrace 说它快 2 倍,秒表说它慢 2-4 倍。

感谢大家的帮助。

  • 亚历克斯

编辑:

两个库的代码相同,都只是引用新旧库。这是在控制台应用程序上测试的:

class Program {
    static void Main(string[] args) {
        Stopwatch sw = new Stopwatch();
        sw.Start();

        Textstring txt = new Textstring("TestText");
        txt.Text = "This is a test textstring.";
        RdwFile f = new RdwFile("Test");
        f.Add(txt);
        f.Save();

        sw.Stop();

        Console.WriteLine(sw.Elapsed.ToString());

        Console.ReadKey();
    }
};
4

0 回答 0