From 86afb4a830a0c55c911105e63821ffc844523d18 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 10 Sep 2022 08:17:06 +0000 Subject: [PATCH] view: reduce subroutine calls for submsg_hdr Favor fewer, yet more expensive operations than many smaller ones. While we're still directly manipulating ctx->{obuf} after this, this change makes it easier for us to avoid doing so in the future. --- lib/PublicInbox/View.pm | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index 0b67d92f..1b55fe77 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -508,17 +508,12 @@ sub thread_html_i { # PublicInbox::WwwStream::getline callback sub submsg_hdr ($$) { my ($ctx, $eml) = @_; - my $obfs_ibx = $ctx->{-obfs_ibx}; - my $rv = $ctx->{obuf}; - $$rv .= "\n"; + my $s = "\n"; for my $h (qw(From To Cc Subject Date Message-ID X-Alt-Message-ID)) { - my @v = $eml->header($h); - for my $v (@v) { - obfuscate_addrs($obfs_ibx, $v) if $obfs_ibx; - $v = ascii_html($v); - $$rv .= "$h: $v\n"; - } + $s .= "$h: $_\n" for $eml->header($h); } + obfuscate_addrs($ctx->{-obfs_ibx}, $s) if $ctx->{-obfs_ibx}; + ascii_html($s); } sub attach_link ($$$$;$) { @@ -559,7 +554,7 @@ EOF $$rv .= ($desc eq '') ? "$ts --]" : "$desc --]\n[-- $ts --]"; $$rv .= "\n"; - submsg_hdr($ctx, $part) if $part->{is_submsg}; + $$rv .= submsg_hdr($ctx, $part) if $part->{is_submsg}; undef; } @@ -578,7 +573,7 @@ sub add_text_body { # callback for each_part my $rv = $ctx->{obuf}; if ($part->{is_submsg}) { - submsg_hdr($ctx, $part); + $$rv .= submsg_hdr($ctx, $part); $$rv .= "\n"; } -- 2.48.1