■70170 / inTopicNo.5) |
Re[2]: BinaryFormatterを使ったデシリアライズの高速化 |
□投稿者/ tocs (12回)-(2014/02/26(Wed) 21:58:47)
|
> ■No69876 (あしゅ さん) に返信
私も大量のデータファイルから検索処理を高速化させたことがありますが、 高速化の鉄則はボトルネックの評価ですので、まずStopWatchで各部の処理時間を計測する必要があると思います。 私の場合データがFileServerにあることで通信による速度低下も原因ではあったのですが、 ファイルオープン・クローズがその約10倍遅いボトルネックでした。
shuさんが記載されている > 別にインデックス用ファイルとしてTitleとファイル名を対応付けする内容を > 持ったファイルを作成しておくということで改善される可能性があります。
はその通りで、ファイルオープンせずに得られる[ファイル更新日時], [ファイル名], [ファイルサイズ]および検索対象のデータの コレクションを1つのファイル(=インデックスファイル)として保存し、検索時には更新日時などが変化されていなければ ファイル内の検索対象データを使うというものです。考え方はただのキャッシュです。
http://jeanne.wankuma.com/tips/csharp/file/gettimestamp.html
難しい実装にもならないのでボトルネックがオープンクローズにあるならおすすめの方法です。
|
|