VB.NET硬盘速度测试详细应用方法介绍
创始人
2024-06-20 20:51:26
0

学习VB.NET的朋友们应该都会知道,其在移动设备的操作方面展现了非常大的优势。在这里我们就会为大家详细介绍一下有关VB.NET硬盘速度测试的相关方法,希望能给大家带来一些帮助。#t#

我们最感兴趣的是硬盘在***负荷下持续的读取和写入速度。为了能够比较准确的测出平均速度,我决定采用先写入一个1GB的文件再读取出来的办法。考虑到不要让更多的任务花在循环上,我首先建立起一个足够大的缓冲区,然后往磁盘写入这个缓冲的内容,从而使硬盘达到***的负荷。考虑到Windows的读取机制,硬盘测试不太准确,此程序的读取部分只能在***次运行时使用,运行次数越多测试也不准确,而写入测试多次运行以后依然能够保持准确性。现在就开始动手。

在VB.NET中创建了一个控制台工程TestHarddisk,然后在Sub Main中写入下列VB.NET硬盘速度测试程序。

  1. Sub Main()  
  2. Dim I As Int32  
  3. Dim f As New FileStream("E:\BigFile.
    big", FileMode.Create)  
  4. Dim fw As New BinaryWriter(f)  
  5. Dim fr As New BinaryReader(f)  
  6. Dim Size As Int32 = 1024 * 1024 * 
    1024 - 1 'File size = 1GB 
  7. Dim bufSize As Int32 = 30 * 1024 * 
    1024 'Buffer Size = 30MB 
  8. Dim jLast As Int32 = bufSize - 1  
  9. Dim j As Int32  
  10. Dim Bytes(bufSize) As Byte  
  11. Dim StartWrite As DateDate = Date.Now  
  12. Console.WriteLine("Write Start at 
    {0}", StartWrite)  
  13. Console.WriteLine("Creating...")  
  14. For I = 0 To Size Step bufSize '1GB  
  15. fw.Write(Bytes)  
  16. Next  
  17. Dim EndWrite As DateDate = Date.Now  
  18. Dim TimePassed As TimeSpan = EndWrite.
    Subtract(StartWrite)  
  19. Console.WriteLine("Write End at 
    {0}", EndWrite)  
  20. Console.WriteLine("Time passed:{0}",
     TimePassed)  
  21. Console.WriteLine("Speed:{0}", 1000 
    / TimePassed.TotalSeconds)  
  22. fw.Flush()  
  23. Dim StartRead As DateDate = Date.Now  
  24. Console.WriteLine("Read Start at 
    {0}", StartRead)  
  25. Console.WriteLine("Reading")  
  26. For I = 0 To Size Step bufSize  
  27. Bytes = fr.ReadBytes(bufSize)  
  28. Next  
  29. Dim EndRead As DateDate = Date.Now  
  30. TimePassed = EndRead.Subtract(StartRead)  
  31. Console.WriteLine("Read End at {0}", EndRead)  
  32. Console.WriteLine("Time passed:
    {0}", TimePassed)  
  33. Console.WriteLine("Read speed:{0}", 
    1000 / TimePassed.TotalSeconds)  
  34. Console.ReadLine()  
  35. fw.Close()  
  36. End Sub  

VB.NET硬盘速度测试的相关测试方法如上面这段代码所示。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...