POPFile 0.22.5 日本語パッチ(テスト版その 2)を公開

テスト版その 1 からさらに高速化を行い、他のバグを修正したテスト版その 2 を公開した
テスト版その 1 からの修正点は、

  • さらに高速化

0.22.5 より 1.8 倍くらいの高速化を実現した(適当に選んだ 500 通の分類テストによる)。
大きなところでは、これまでメールの本文を 1 行ずつ文字コード変換→分かち書きと処理していたが、メールのパートごとにまとめて処理するように変更してみた。これによって Encode::Guess::guess_encoding を呼ぶ回数が減り、かなり処理が軽くなった。他にも細かいところでいくつか効果のありそうなところを修正。
メールが長ければ長いほど効果が大きいので、長いメールを受信する時間が短く感じられるのではないかと思う。

  • メール本文で単語の途中で改行されている場合につなげて処理するようになった(Kakasi 使用時のみ)

上記高速化の副作用として、Kakasi 使用時には単語の途中に改行が入っていてもちゃんとつながった形で処理されるようになった。これは Kakasi分かち書き機能によるもの。

  • ヘッダ行の最後、あるいは本文の最後に置かれたメールアドレスがメールアドレスとして処理されないバグを修正

POPFile は、メールアドレスらしきものを見つけた場合、そのメールアドレスそのものとともに、そのドメインを単語として認識するようになっているが、それぞれのヘッダ行の最後や本文の最後に置かれている場合にはメールアドレスとして処理していなかった。大勢に影響はないと思われるが、バグとして修正を行った。これは日本語化とは関係ないので、近いうちにバグとして報告をあげる予定。
バグはバグなのだが、これまでとは認識の方法が変わるため、もしかすると副作用としてあらわれることになるかもしれない。

shiftjis → cp932 に変更。メールのパートをまとめて処理するようにしたことによって、この問題の影響が大きくなると考え、今回対応することにした。
そういえばリリースノートにこのことを書き忘れた。しまった。

動作テストにご協力いただける方を募集中。興味のある方はフォーラムへどうぞ。かなり速度があがったので、体感できるはず。