From 63ede74cfe5817642a4211419ae2bd3838260237 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 2 May 2014 20:28:43 +0000 Subject: reduce copies by passing string refs to Email::MIME This should reduce data copies and memory usage, according to Email::Simple documentation. --- lib/PublicInbox/Feed.pm | 2 +- lib/PublicInbox/WWW.pm | 4 ++-- public-inbox-mda | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm index a507cda1..09eb2fca 100644 --- a/lib/PublicInbox/Feed.pm +++ b/lib/PublicInbox/Feed.pm @@ -299,7 +299,7 @@ sub dump_html_line { sub do_cat_mail { my ($git, $path) = @_; my $str = $git->cat_file("HEAD:$path"); - Email::MIME->new($$str); + Email::MIME->new($str); } 1; diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm index 649e3cf0..4dbfe47d 100644 --- a/lib/PublicInbox/WWW.pm +++ b/lib/PublicInbox/WWW.pm @@ -166,7 +166,7 @@ sub get_mid_html { my $pfx = "../f/$mid_href.html"; require Email::MIME; [ 200, [ 'Content-Type' => 'text/html; charset=UTF-8' ], - [ PublicInbox::View->as_html(Email::MIME->new($$x), $pfx) ] ]; + [ PublicInbox::View->as_html(Email::MIME->new($x), $pfx) ] ]; } # /$LISTNAME/f/$MESSAGE_ID.html -> HTML content (fullquotes) @@ -177,7 +177,7 @@ sub get_full_html { require PublicInbox::View; require Email::MIME; [ 200, [ 'Content-Type' => 'text/html' ], - [ PublicInbox::View->as_html(Email::MIME->new($$x))] ]; + [ PublicInbox::View->as_html(Email::MIME->new($x))] ]; } sub self_url { diff --git a/public-inbox-mda b/public-inbox-mda index 096421bb..522eeff7 100755 --- a/public-inbox-mda +++ b/public-inbox-mda @@ -34,14 +34,14 @@ my $filtered; # string dest if (PublicInbox::MDA->precheck($filter, $dst->{address}) && do_spamc($filter->simple, \$filtered)) { # update our message with SA headers (in case our filter rejects it) - my $msg = Email::Simple->new($filtered); + my $msg = Email::MIME->new(\$filtered); $filtered = undef; $filter->simple($msg); if (PublicInbox::Filter->run($msg)) { # run spamc again on the HTML-free message if (do_spamc($msg, \$filtered)) { - $msg = Email::MIME->new($filtered); + $msg = Email::MIME->new(\$filtered); PublicInbox::MDA->set_list_headers($msg, $dst); $filter->simple($msg); -- cgit v1.2.3-24-ge0c7