成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VB.NET測試硬盤速度代碼實解讀

開發 后端
VB.NET測試硬盤速度其實是可以實現的。作為開發人員來說,只有想不到的沒有做不到的。下面我們就來看看這一特殊實現技巧。

VB.NET編程語言的用途相比其他語言來說,還是有些不同之處。其中最大的特點就是可以實現對移動設備的操作。前日在用SiSoftware Sandra 2004測試硬盤性能時突發其想,用自己熟悉的VB.NET測試硬盤速度行不行呢?具體怎么做呢?#t#

我們最感興趣的是硬盤在最大負荷下持續的讀取和寫入速度。為了能夠比較準確的測出平均速度,我決定采用先寫入一個1GB的文件再讀取出來的辦法。考慮到不要讓更多的任務花在循環上,我首先建立起一個足夠大的緩沖區,然后往磁盤寫入這個緩沖的內容,從而使硬盤達到最大的負荷。考慮到Windows的讀取機制,硬盤測試不太準確,此程序的讀取部分只能在第一次運行時使用,運行次數越多測試也不準確,而寫入測試多次運行以后依然能夠保持準確性。現在就開始動手。

在VB.NET測試硬盤速度中創建了一個控制臺工程TestHarddisk,然后在Sub Main中寫入下列程序。

  1. Sub Main()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() 

 

現在開始VB.NET測試硬盤速度。

硬件配置:

Athlon 2500+(running at 1.8G)

EPOX 8RDA3+ nForce2主板

512DDR 400(running at 400MHz)

ATA100 Seagate 7200.7 80GB 2MB

軟件配置:

Windows 2003 Server Standard Edition

全套最新的WHQL驅動程序

Visual Studio 2003,編譯選擇Realse模式,打開所有優化選項。

第一次運行VB.NET測試硬盤速度得寫入速度43MB/s,第二次測得42MB/s,第三次41MB/s與Sisoftware測試得的結果43MB/s相差不大,達到了理想的效果。然而讀取測試就變態了,第一次64MB/s,與Sissoftware測試多了5MB/s左右,第二次達到了1096MB/s,第三次1123MB/s,這和Windows的磁盤緩沖機制有關,看來作用還是蠻大的,當然,建議讀取測試在重起電腦以后進行。

責任編輯:曹凱 來源: 博客園
相關推薦

2010-01-14 18:22:05

VB.NET硬盤速度測

2010-01-13 09:31:39

VB.NET窗體打印

2010-01-14 09:55:06

VB.NET IEnu

2010-01-08 10:48:05

VB.NET多線程

2010-01-19 17:03:25

VB.NET可執行語句

2010-01-20 14:32:12

VB.NET轉換運算符

2010-01-18 16:58:29

VB.NET Over

2010-01-11 11:02:27

VB.NET調用存儲過

2010-01-13 15:01:13

VB.NET操作MyS

2010-01-11 17:12:12

VB.NET事務處理

2010-01-18 14:47:42

VB.NET獲取環境變

2010-01-08 10:37:50

VB.NET數據庫

2010-01-11 17:49:36

VB.NET硬盤序列號

2010-01-08 15:41:36

VB.NET窗口關閉

2010-01-07 17:51:36

VB.NET實現Sin

2010-01-18 17:37:32

VB.NET文本框處理

2010-01-11 18:21:22

VB.NET獲取硬盤信

2010-01-19 18:06:14

VB.NET發送郵件

2010-01-20 13:19:01

VB.NET錯誤處理

2010-01-11 17:24:19

VB.NET異步調用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲乱码一区二区 | 免费看91 | www.国产一区 | 久久久久国产一区二区三区 | 国产日韩一区二区三免费高清 | 中文字幕欧美日韩一区 | 九九国产在线观看 | 国产成人精品久久二区二区91 | 一区二区av | 日韩羞羞 | 精品免费 | 天天爱综合 | 日韩福利 | 国产精品欧美一区二区 | www.久久| 国产欧美一区二区三区日本久久久 | 少妇午夜一级艳片欧美精品 | 久久久女女女女999久久 | 日韩精品一区二区三区中文在线 | 免费国产一区 | 日本字幕在线观看 | 久久国产精品-国产精品 | 99reav| 成人在线视 | 欧美成人精品一区二区男人看 | 亚洲精品电影 | 欧美日韩高清在线一区 | 视频二区在线观看 | 久久精品视频9 | 91精品福利| 岛国av一区二区 | 久久蜜桃av一区二区天堂 | 一区二区三区四区不卡 | 国产一区二区三区久久久久久久久 | 久久av网 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 在线超碰| 超碰97免费 | ww亚洲ww亚在线观看 | 亚洲欧美国产毛片在线 | 欧美一级特黄aaa大片在线观看 |