From f32456e0d0f4a7756fcc17c83ccf5b682cb512d9 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 10 Sep 2022 08:17:18 +0000 Subject: www: switch to zadd for the majority of buffering This allows us to focus string concatenations in one place to allow Perl internal scratchpad optimizations to reuse memory. Calling Compress::Raw::Zlib::deflate repeatedly proves too expensive in terms of CPU cycles. --- lib/PublicInbox/WwwStream.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/PublicInbox/WwwStream.pm') diff --git a/lib/PublicInbox/WwwStream.pm b/lib/PublicInbox/WwwStream.pm index c23668a4..2a318e5e 100644 --- a/lib/PublicInbox/WwwStream.pm +++ b/lib/PublicInbox/WwwStream.pm @@ -182,7 +182,7 @@ sub html_oneshot ($$;@) { bless $ctx, __PACKAGE__; $ctx->{gz} = PublicInbox::GzipFilter::gz_or_noop($res_hdr, $ctx->{env}); $ctx->{base_url} // do { - $ctx->zmore(html_top($ctx)); + $ctx->zadd(html_top($ctx)); $ctx->{base_url} = base_url($ctx); }; my $bdy = $ctx->zflush(@_[2..$#_], _html_end($ctx)); @@ -216,7 +216,7 @@ sub html_init { my $h = $ctx->{-res_hdr} = ['Content-Type', 'text/html; charset=UTF-8']; $ctx->{gz} = PublicInbox::GzipFilter::gz_or_noop($h, $ctx->{env}); bless $ctx, __PACKAGE__; - $ctx->zmore(html_top($ctx)); + $ctx->zadd(html_top($ctx)); } 1; -- cgit v1.2.3-24-ge0c7