我创建了一种方法来记录写文件所需的总时间。
如何扩展它以记录方法每秒向StringBuilder对象写入多少兆字节?我正在传递GB
private string CreateLongRunningDummyFile(int fileSizeGb, string filePath)
{
StringBuilder sb=new StringBuilder();
Stopwatch sw = new Stopwatch();
sw.Start();
int fileSizeMb = fileSizeGb * 1024;
try
{
const int blockSize = 1024 * 8;
const int blocksPerMb = (1024 * 1024) / blockSize;
byte[] data = new byte[blockSize];
Random rng = new Random();
using (FileStream stream = File.OpenWrite(filePath))
{
// There
for (int i = 0; i < fileSizeMb * blocksPerMb; i++)
{
rng.NextBytes(data);
stream.Write(data, 0, data.Length);
}
}
sw.Stop();
File.Delete(filePath);
}
catch (Exception ex)
{
sw.Stop();
}
sb.AppendLine(string.Format("Elaspsed Time: {0}sec",sw.Elapsed.TotalSeconds.ToString()));
return sb.ToString();
}
答案 0 :(得分:0)
做一些数学
var rate = fileSizeGb / 1024 / sw.Elapsed.TotalSeconds;