• 締切済み

ReadLineでスループット低下

こんにちは。 Excel VBAで、テキストファイルを1行読み込んで特定の処理を施す、ことを行末まで繰り返すアプリケーションを作りました。これを使って、20MB程度のテキストファイルは、正常に処理できているのですが、800MB程のファイルを扱うと、途中からスループットが大きく低下してしまいます。初めのうちは、400Line/秒くらいで処理されるのですが、徐々に低下して、中盤以降は120Line/秒くらいまで下がってしまいます。考えられる原因、または対処法をご存知でしょうか? ちなみに、処理対象のテキストファイルは、WWWサーバーのアクセスログで、LAN上の別マシンに置いてあります。

みんなの回答

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

一旦ローカルにコピーしてから読み込むとか。

chokchok
質問者

お礼

検討した結果、ログファイルのあるサーバー上でanalogを実行、そのレポートだけをローカルにコピーしてVBAツールのインプットにする、という仕様にしました。 ありがとうございました。

chokchok
質問者

補足

このアプリケーションでは、入力となるファイルを何個でも指定可能で、実際の運用では、1個約800MBのファイルを30個くらい扱う予定です。ローカルに全てコピーするだけで相当時間がかかるので、考えても仕方がない、と思っていたのですが、とりあえず1個コピーしてスループットを計測してみれば、何かヒントが見えるかも知れませんね。早速それを試して見ます。アドバイスありがとうございました。引き続きお願い致します。

関連するQ&A