|
方法1
Dim bs00(CInt(file_size - 1)) As Byte
For i As Integer = 1 To filenum Dim fs As New FileStream(StrPath(i), FileMode.Open, FileAccess.Read) fs.Read(bs00, 0, file_size) fs.Close() Next i
方法2
Parallel.For(1, filenum, Sub(i)
Dim bs0(CInt(file_size - 1)) As Byte
Dim fs As New FileStream(StrPath(i), FileMode.Open, FileAccess.Read) SyncLock fs fs.Read(bs0, 0, file_size) End SyncLock fs.Close()
End Sub)
方法1だと、SSDで410MB/s、HDDで140MB/s 方法2だと、SSDで550MB/s、HDDで110MB/s
という転送速度になるのですが、 理由は分かりますか?
やっていることは同じなのに なぜかSSDとHDDで方法によってここまで速度差が見られるのはなぜなのでしょうか?
|