- 締切済み
ReadLineでスループット低下
こんにちは。 Excel VBAで、テキストファイルを1行読み込んで特定の処理を施す、ことを行末まで繰り返すアプリケーションを作りました。これを使って、20MB程度のテキストファイルは、正常に処理できているのですが、800MB程のファイルを扱うと、途中からスループットが大きく低下してしまいます。初めのうちは、400Line/秒くらいで処理されるのですが、徐々に低下して、中盤以降は120Line/秒くらいまで下がってしまいます。考えられる原因、または対処法をご存知でしょうか? ちなみに、処理対象のテキストファイルは、WWWサーバーのアクセスログで、LAN上の別マシンに置いてあります。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- todo36
- ベストアンサー率58% (728/1234)
回答No.1
一旦ローカルにコピーしてから読み込むとか。
お礼
検討した結果、ログファイルのあるサーバー上でanalogを実行、そのレポートだけをローカルにコピーしてVBAツールのインプットにする、という仕様にしました。 ありがとうございました。
補足
このアプリケーションでは、入力となるファイルを何個でも指定可能で、実際の運用では、1個約800MBのファイルを30個くらい扱う予定です。ローカルに全てコピーするだけで相当時間がかかるので、考えても仕方がない、と思っていたのですが、とりあえず1個コピーしてスループットを計測してみれば、何かヒントが見えるかも知れませんね。早速それを試して見ます。アドバイスありがとうございました。引き続きお願い致します。