Perl Email Project |
Email::Senderを始めEmail::*な名前空間にあるモジュールは、古典的なMail::*やMIME::*の複雑さに業を煮やしたユーザ数名が始めたPerl Email Project(PEP)が管理しているモダンなメール関係モジュールです。モジュールの一覧はTask::Email::PEP::Allで確認できます。
時期的に旬なのでついでに書きますと、Email::Senderを作ったRicardo Signesさんが今年のYAPC::Asia TOKYO 2011に来られるそうです。
依存モジュール
Net::SMTPはPerl 5.7.3からコアモジュールに入っていて、依存モジュールは2個(どちらもコアモジュール)です。続いてEmail::Sendの依存モジュールは11個でうち7個がコアモジュールでした。PEPお薦めのEmail::Senderも当然調べました。依存モジュールは40個でうち13個がコアモジュールでした。Throwable::Errorが依存しているMoose::Roleが数を稼いでいる感じです。
ベンチマーク用SMTPd on 127.0.0.1
依存モジュールの数だけで取捨選択すればNet::SMTPがいいし、もうちょい楽をするならEmail::Sendがいいなぁと思うわけですが、速度はどうかと思ってベンチマークをとりました。小さなメールを作ってSMTPで送信するだけのコードです。ネットワークの影響を排除するのと、テストした場所がOP25B影響下にあるので手元のMacにSMTPサーバ立ててそこに送る事にしました。ベンチマークのコード
SMTPサーバはNet::Server::Mailモジュールが127.0.0.1:2500でListenしているやつです。これを起動させた状態で書きのベンチマークのコードを走らせました。githubにも置いています。依存モジュールの多さからNet::SMTP < Email::Send < Email::Senderの順位になるかと思ってましたが意外、Email::Senderは二位でした。
0 件のコメント:
コメントを投稿