FileStream在VB中读取速度慢

时间:2017-04-13 08:00:59

标签: vb.net performance

我尝试从网络设备读取文件,我想测量时间,需要读取文件(以便检查设备+网络的性能)。

如果我使用robocopy,我可以看到120Mbit / s的速度(通过wireshark,我可以看到数据包大小为32kByte)。

如果我使用此代码:

Private Sub LangerVorgang()
    Dim sb As New IO.FileStream(TextBox1.Text, IO.FileMode.OpenOrCreate)
    sr = sb
    len = sr.Length - 1
    Dim buffer(32768) As Byte
    Dim bytesread As Integer
    pos = sr.Position

    While sr.Position < len
        bytesread = (sr.Read(buffer, 0, 32768))
    End While
    sr.Close()
End Sub

我只获得大约90Mbit / s,通过Wireshark它也使用32kByte。

此代码在单独的Thread中运行。

有人可以告诉我,为什么这很慢?

如果我制作一个更大的缓冲区(如1M),速度更快,但测量结果更差,所以我想使用大约32kByte。

谢谢

0 个答案:

没有答案