投稿者 凡人  (高校生) 投稿日時 2011/8/8 22:35:13
こんにちは。
Visual Basic 2008でアプリを作っている、凡人です。

今回実装する機能の中に、「csvファイルからListViewにアイテムを追加する」という処理を実装する必要があります。
この処理はアプリ全体を通して複数箇所で行われ、また複数のcsvファイルで同様の処理が行われるので、上記の処理を実行するその関数を作ったのですが...
処理速度があまりにも違いすぎます。

ここではcsvファイル、及び読み込み先のListViewを
・csv1 -> ListView1
・csv2 -> ListView2
・csv3 -> ListView3
とします。

1.)  [csv1を読み込み、ListView1に追加]という処理をcsvの数だけ用意し、複数箇所に同じコードを貼り付ける。 -> 一番早い[実行時間:10000]
2.) [csv1を読み込み、ListView1に追加]という処理の関数をcsvの数だけ用意し、複数箇所から関数をcallする -> 普通(?)    [実行時間:53000]
3.) [渡されたcsvのパスを読み込み、渡されたオブジェクトに追加]という処理の関数を作り、複数箇所からはcallする -> 遅い  [実行時間:130000]

なお、コードは上から順に 複雑(ムダ?) -> シンプル(?)となっています。

このアプリの実行環境は、必ずしも早いとは限らないので、実行速度の面は心配です。
またこのアプリはコードを公開する予定があるかもしれないので、あまり変な書き方もしたくないです。

皆さんならどうしますか?
またこれくらいの実行速度の差は、普通なのでしょうか?
助言等ございましたら、よろしくお願いします。


-------------------------
開発環境
Windows 7 (x64)
Visual Studio 2008 
-------------------------