C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■83338 / )  Re[26]: 大量のテキストファイルをマルチスレッドで高速に読み込む方法
□投稿者/ PANG2 (164回)-(2017/03/17(Fri) 13:18:04)
2017/03/17(Fri) 13:31:51 編集(投稿者)
No83327 (金尾 さん) に返信
> やっていることは同じなのに
> なぜかSSDとHDDで方法によってここまで速度差が見られるのはなぜなのでしょうか?

ファイル読込がボトルネックでしたっけ?
振り出しに戻って、まずはシングルスレッドで計測してボトルネックを見つけて下さい。

--
    Sub Main()
        Dim sw1 As New Stopwatch
        Dim sw2 As New Stopwatch
        Dim sw3 As New Stopwatch
        Dim sw4 As New Stopwatch

        For i As Integer = 1 To 10000
            sw1.Start()
            '@メモリ確保
            Dim bs(100 * 1024 * 1024 - 1) As Byte
            sw1.Stop()

            sw2.Start()
            'Aファイル読み込み
            sw2.Stop()

            sw3.Start()
            'Bbyte配列を文字列配列へ変換
            sw3.Stop()

            sw4.Start()
            'Cデータをまとめるための処理
            sw4.Stop()
        Next
        Console.WriteLine(sw1.ElapsedMilliseconds)
        Console.WriteLine(sw2.ElapsedMilliseconds)
        Console.WriteLine(sw3.ElapsedMilliseconds)
        Console.WriteLine(sw4.ElapsedMilliseconds)
    End Sub

返信 編集キー/


管理者用

- Child Tree -