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(+)
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 <span> here to allow users to specify
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/