我有一个项目,我需要能够在linux(centos)系统上快速编写小文件(大约1kB)(越快越好)。我写了一个小型控制台应用程序,它正在从一个数组中写入1kB文件。
首先我测试了它编译.Net 4.5下的代码,然后在mono下运行它。第二个测试是相同的代码,但转移到一个网络核心项目,使用dotnet命令进行编译和运行。
我在某种程度上期待相同的性能结果(以文件/秒为单位测量),但测试显示实际上单声道更快(单线程35%,3个并行线程运行高达60%)
用于写入的方法是FileStream.Write(byte [],offset,count)。
有没有其他人遇到过这种情况?这是正常的吗?对此有什么解释?
谢谢!
var filepath = path + "File_M" + identifier + ".bbb";
var file = File.Create(filepath);
file.Write(fillChars, 0, fillChars.Length);
file.Flush();
file.Dispose();