【发布时间】:2011-03-13 22:24:03
【问题描述】:
我目前正在测试将文本数据记录到文件中的不同方法的性能。似乎当我打开/写入/关闭大量时间时,使用的扩展名会影响性能。 (.txt 和 .log 大约快 7 倍)
使用的代码:
private static void TestWriteSpeed(FileInfo file)
{
Stopwatch watch = new Stopwatch();
watch.Start();
for (int i = 0; i < 5000; i++)
{
using (StreamWriter writer = file.AppendText())
{
writer.Write("This is a test");
}
}
Console.WriteLine(file.Name + ": " + watch.Elapsed);
}
static void Main(string[] args)
{
TestWriteSpeed(new FileInfo("abc.txt"));
TestWriteSpeed(new FileInfo("abc.txt.01564611564"));
TestWriteSpeed(new FileInfo("abc.01564611564.txt"));
TestWriteSpeed(new FileInfo("abc.xml"));
TestWriteSpeed(new FileInfo("abc.xml.01564611564"));
TestWriteSpeed(new FileInfo("abc.config"));
TestWriteSpeed(new FileInfo("abc.config.01564611564"));
TestWriteSpeed(new FileInfo("abc.exe"));
TestWriteSpeed(new FileInfo("abc.exe.01564611564"));
TestWriteSpeed(new FileInfo("abc.log"));
TestWriteSpeed(new FileInfo("abc.log.01564611564"));
Console.ReadLine();
}
结果:
abc.txt 00:00:08.3826847 <---
abc.txt.01564611564 00:00:59.7401633
abc.01564611564.txt 00:00:08.0069698 <---
abc.xml 00:00:58.2031820
abc.xml.01564611564 00:00:59.3956204
abc.config 00:00:58.4861308
abc.config.01564611564 00:01:01.2474287
abc.exe: 00:01:00.0924401
abc.exe.01564611564 00:01:00.7371805
abc.log 00:00:08.0009934 <---
abc.log.01564611564 00:00:59.8029448
为什么会这样?
【问题讨论】:
-
我希望杀毒软件已关闭?
-
@orsol 谁会运行 AV 而不仅仅是 RANU?
-
@Will:嘿,猜猜看……微软每个月都会推送的那些更新?即使当前使用机器的用户不是管理员,其中一些修复了可利用的操作系统漏洞。
-
我相信 RANU = 以普通用户身份运行(例如msdn.microsoft.com/en-us/library/bb932482(VS.90).aspx)。这充其量是对 AV 的补充,而不是替代。
标签: c# streamwriter