|
前回のあらすじ: Jcodeと同じく、EncodeのMIME-Header-ISO-2022-JPが遅いのではないかという疑惑が!! Jcodeの話 http://cast-a-spell.at.webry.info/200709/article_9.html 前回の話 http://cast-a-spell.at.webry.info/201004/article_9.html で、Perl5.8では遅くて、5.8.9では速い?みたいな話もあってですね。 http://isoya.at.webry.info/201004/article_7.html この原因なんですが、おじいさんも自宅で5.12で試した時に気づかなかったんですが、
上の行で、最後にスペースが入っている、いないによってエンコード結果が異なるため、速度に違いが出るのです。 #しかし、isoya9さんには同じコードのファイルを送って、速度計測してもらって、速かった覚えが。。。 自宅のPerl5.12、QuadCoreマシンで簡単に調べると、 スペースあり。
スペースなし。
まあ、この激烈に遅い原因なんですが、SmallProfを取った所によると、どうもUTF8→EUCと変換して分解、断片ごとにISO-2022-JPへ直してからBエンコードしているのですが、そのEUC→JIS変換が猛烈に呼び出されて遅い模様。 具体的には、Encode::JP::JIS7::jis_eucがアホほど呼び出されて、遅い模様。具体的には、q{あいうえお <aioue@hoge.com>, } x 20;程度で20の呼び出しのはずが、q{あいうえお <aioue@hoge.com>,} x 20;では3445の呼び出しになってます。 これは、抜本的にはEncode::MIME::Header::ISO_2022_JP モジュールを今風に作り直してやった方がいいような。 どう考えても、Jcode時代の内容を引きずりすぎですもん。。 |
| << 前記事(2010/05/11) | ブログのトップへ | 後記事(2010/05/12) >> |
| タイトル (本文) | ブログ名/日時 |
|---|---|
「[Perl] 帰ってきたEncodeのMIME-Header-ISO_2022_JPは遅いん...
「[Perl] 帰ってきたEncodeのMIME-Header-ISO_2022_JPは遅いんじゃ?」について ...続きを見る |
isoya9の日記 2010/05/11 23:32 |
MIMEエンコード
前回の続きだけど(perlでsmtpサーバーに接続して送信) 問題なのが、意外に文字列処理。 昔は、eucで書いて、Jcodeでsjisやjisに変換していました。 今は、utf8で書いて、Unicode::Japaneseで処理してます。 MIMEエンコードをどうしようかな。MIMEの部分だけ、JcodeかEncodeを使用しようとしたら、処理がすごく遅いという、気になる記事が。([Perl] 帰ってきたEncodeのMIME-Header-ISO_2022_JPは遅いんじゃ? たまには呪文を... ...続きを見る |
えむけいプラン 2010/05/28 15:55 |
[Perl] ISO-2022-JPのエンコードの件の続き
メモ ...続きを見る |
たまには呪文をとなえてみるか:仕事版 2011/01/10 00:16 |
| 内 容 | ニックネーム/日時 |
|---|
| << 前記事(2010/05/11) | ブログのトップへ | 後記事(2010/05/12) >> |