zoukankan      html  css  js  c++  java
  • 使用.net 2.0中的秒表-stopwatch类进行硬盘速度测试

    最近在写一个软件要求测试USB硬盘的读写速度,之前我一直知道的都是在高级语言中只可以精确到MS,在网上找了一下,看到介绍C#中用于表示更精确的时间类.以下是网上摘来的介绍

    Stopwatch类:
        使用Stopwatch类来量度时间非常简单。跟现实生活中的秒表一样,这个类的对象也能够对计数器进行开始、停止、归零(重置)操作,不过它可比一般的秒表精确多了,它能够精确到微秒(也就是百万分之一秒).

    使用Stopwatch类需要加入

    using System.Diagnostics;

    以下是在实际应用中的一段代码,实际测试出来的速度与HD Speed测试出来的速度相关不大(读写USB2.0硬盘时),但是测试USB3.0硬盘时,速度相关比较大,不知道什么原因.

            /// 读取一定数量字节所要的时间
            /// 返回ms值
            public double SectorReadTime(int mb)
            {
                int SectorCount = mb * 1024 * 1024;
                _DirverStream.Position = 0; // 从0扇区开始读取
                byte[] ReadByte= new byte[SectorCount];
                Stopwatch timer = new Stopwatch();
                timer.Start();
                _DirverStream.Read(ReadByte, 0, SectorCount);
                timer.Stop();
                // 返回时间,可以精确到纳秒
                return timer.Elapsed.TotalMilliseconds;
            }
  • 相关阅读:
    A. Maze
    A. Ice Skating (联通块)
    A. DZY Loves Chessboard (找到一个涂一个)
    C. Kefa and Park
    A. Party
    N皇后问题
    八皇后问题
    A. DZY Loves Sequences
    A. Reorder the Array (二分变形)
    BZOJ1681 [Usaco2005 Mar]Checking an Alibi 不在场的证明
  • 原文地址:https://www.cnblogs.com/openusb/p/1635679.html
Copyright © 2011-2022 走看看