メール本文検索の高速化No.06362
setoatu さん 20/03/05 01:48
 
いつも大変お世話になっております。setoatuです。

最近メールの件数も増えており、メール本文検索に時間を要すようになってしまいま
した。
当然といえば当然の話なのですが。

どうにか高速化して頂けないでしょうか?昔はGoogle Desktop Searchに渡していた
のですが今はもうメンテナンスされていませんし、そのような機能が秀丸メール本体
に組み込まれたらどんなに嬉しいかと思いまして。

もしくは高速化するためのTipsなどございましたらご教示いただけると幸いです。

どうぞよろしくお願いいたします。

[ ]
RE:06362 メール本文検索の高速化No.06363
秀まるお2 さん 20/03/05 09:01
 
 メールのヘッダや本文を対象とした普通の文字列検索についてはあんまり改善の余
地は無いです。

 Google Desktop Searchみたいなインデックス方式の検索か、あるいはそこまで行
かないにしても、ある程度のインデックス情報を使って高速化することも考えたんで
すが、検索は高速になっても普段の動作が遅くなるリスクがあるのでやめました。

 とりあえず、今現在の秀丸メールでもマルチスレッドで検索するのでそんなには遅
くないと思います。僕のメインのメールアカウントが今現在29万通くらいメールが
たまってるんですが、たとえば"テスト"って文字列を「簡略ヘッダ+本文」対象に検
索して、1回目はハードディスクへのアクセスじ時間がかかって30秒くらいかかり
ますが、2回目以降は4秒もかからなくなります。

 1回の検索で4秒待つくらいでは全然遅いということは無いと思うのですけども。

 29万通のメールというの最近の12年分くらいのメールになります。もっと古い
メールは別アカウントに分けて保存してます。

> もしくは高速化するためのTipsなどございましたらご教示いただけると幸いです。

 とりあえず、「ファイル - 断片化されたメール用ファイルの結合」を実行すると、
1回目の検索は速くなると思います。

 2回目以降の検索を高速にするには、一番効果があるのは対象のメール数を減らす
ってことになりまして、「ファイル - バックアップのお手伝い」にて古いメールを
別アカウントに移動してやれば、移動した分だけ高速になります。

 パソコンをグレードアップする作戦もあります。とりあえずハードディスクをお使
いならSSDにすれば、1回目の検索も2回目に近いくらい高速化すると思います。
あとは単純にCPUの速度の関係になりますが、秀丸メールは4スレッドまで使うの
で、Core i3やCeleronとかの、スレッド数が2以下のCPUをお使いなら、Core i5以上
とかの、スレッド数が4以上あるCPUのパソコンを使うと、うまくいけば倍速くな
ります。

 そういう感じでどうでしょうか。

 僕のパソコンはNEC Mateの2011年モデルでSSDも無くてメモリも4ギガバイトです
が、こんな昔のパソコンでも全然大丈夫なので、みなさん余裕じゃないかと思ってた
所です。

[ ]
RE:06363 メール本文検索の高速化No.06364
秀まるお2 さん 20/03/05 09:17
 
 もう1つありました。

 32bit版の秀丸メールよりも64bit版の秀丸メールの方が高速になります。2回目以
降の検索ならおおよそ3割高速になります。

[ ]
RE:06364 メール本文検索の高速化No.06365
秀まるお2 さん 20/03/05 09:39
 
 もう1つ追加ですみません。

 現状、秀丸メールの検索(検索して一覧作成)は4スレッドまで使って高速化して
ますが、CPUがCore i7とかなら8スレッド以上まで使えるので、秀丸メールが8スレ
ッドまで対応すれば、もしかすると倍近く高速化する可能性はあります。

 そういうご希望があってテストもしてくれそうでしたら、対応してみてもいいです。

[ ]
RE:06365 メール本文検索の高速化No.06371
setoatu さん 20/03/05 16:47
 

残念ながら4スレッドまでしかテストできません。
調べてみたところメールは57万通ありました(ゴミばっかですが、捨てられなく…)。
まずは優先度の低いメールを分離するところからですかね。

それと64bitも利用してみることにします。

それと、異様に遅い原因が分かったかもしれません。当方の環境ではメールフォルダ
を共有フォルダに格納しているのですが、ネットワークの使用量がかなり増え、CPU
は50%程度、Disk IOはほぼ0%という状況でした。ボトルネックはネットワークネック
でした。

そちらの解消を優先します。ありがとうございました。

[ ]