@kyanny's blog

My thoughts, my life. Views/opinions are my own.

POPFile 遅いので

メール受信閲覧をもっと快適にするために。

まず POPFile のバージョンが古かった (0.22.4) のでなんでか探る。 mail-filter/popfile は 0.22.5 に ~x86 でマスクがかかってる。外していいものか、ちょっと追うと gentoo-portage.com とかにある Changelog から gentoo bugzilla のバグ報告がわかるので読んでみると依存関係の解決にミスっていたとからしい。で 2007-12-09 にメンテナが now on tree とかいってるので emerge --sync (eix-sync) すれば落ちてくるかな?と思ったけどやっぱり ~x86 masked のままなので package.keywords でマスクを外した。これで結構早くなるはず。でも 0.22.5 の日本語まわりの高速化パッチは ebuild ではあたらないかもしれないなあ。できれば野良では入れたくないのだけど。

あと、 Mew にすんなり乗り換える気になれない程度には Wanderlust に慣れてしまったので、自分の使い方を工夫する方向で考える。まずスパムは bogofilter を前に使えないと思ってたらちゃんと動いて使えたので試しにやってみると、自動リファイルがクソ重くなった。リファイル時に一通ずつスパムかハムかを学習させるらしい (wl-spam.el が) のだけど、これはこれでちょっときついわ、ということでやっぱ POPFile で頑張ることに。それから prefetch と Moving message... の差がだんだんわかってきて、 Folder モードで S だと Sync で Move だけする、ここがすごく遅くて POPFile が動くから、で Summary モードで N とか U とかマークついてるのがまだ prefetch されてないメッセージってことで、多分開くのが遅いとかなんだろう。そこで I すると prefetch してくれる。まあいずれにせよ重い。

で、結局今のメールの分類の仕方とか、読み方のスタイルが Wanderlust というかテキストベース?のメーラーにあってないのかなと気づいた。この手のメーラーは基本 inbox にすべてのメールがあって、一通り読み終わってから分類して保管、という風に考えるべきなんじゃないかと思う。 GUI の普通のメーラーみたいに、まず分類ありきで任意のフォルダを選んで読んでいく、というやり方をしようとすると、 msgdb をフォルダごとに作り直すので効率が良くない気がする。

というわけで POPFile をもっと賢く使って自動リファイルのルール規則をかえていくことにした。今までは POPFile は ham/spam 判定しかやらず、自動リファイルで数多くある ML ごとに振り分けていたけど、結局漏れてしまうメールがあって (社内の複数の ML に Cc: してるメールとか) 精度が悪かった。ので、バケツを増やして ham/spam/ignore とかして、あと特徴的な通知メールみたいなもの (やたら数が多い) のバケツもつくり、自動リファイルは基本 X-POPFile-なんちゃらヘッダだけを見るようにする。バケツを増やしても POPFile のパフォーマンスにはほとんど影響がないらしいので、ならばもっと酷使してやろうと。 ML へのリファイルはいっそのこと原始的に sort => リージョン選択してマークつけて o でリファイル、という風にしてみたほうが精度は高いかもしれない。