From f37219b70b5ab83cd7740c4d533f1cf7e5049946 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 9 Oct 2021 12:03:34 +0000 Subject: view: discard Eml->{bdy} when done using We can release the raw body buffer once we've obtained a copy of the decoded buffer. This reduces memory pressure ahead of some expensive diff processing. --- lib/PublicInbox/View.pm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'lib/PublicInbox/View.pm') diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index 64e73234..a6944b80 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -533,6 +533,7 @@ sub attach_link ($$$$;$) { my $nl = $idx eq '1' ? '' : "\n"; # like join("\n", ...) my $size = length($part->body); + delete $part->{bdy}; # save memory # hide attributes normally, unless we want to aid users in # spotting MUA problems: @@ -632,6 +633,7 @@ sub add_text_body { # callback for each_part attach_link($ctx, $ct, $p, $fn, $err); $$rv .= "\n"; } + delete $part->{bdy}; # save memory foreach my $cur (@sections) { if ($cur =~ /\A>/) { # we use a here to allow users to specify -- cgit v1.2.3-24-ge0c7