簡體   English   中英

寫入文件時記錄 mb/sec C#

[英]Record mb/sec When Writing A File C#

我創建了一種方法來記錄寫入文件所需的總時間。

我如何擴展它以記錄該方法每秒向我的 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();
        }

做一些數學運算

var rate = fileSizeGb / 1024 / sw.Elapsed.TotalSeconds;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM