user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [PATCH 32/43] feed: /$INBOX/new.html fetches blobs asynchronously
  @ 2020-07-05 23:27  7% ` Eric Wong
  0 siblings, 0 replies; 1+ results
From: Eric Wong @ 2020-07-05 23:27 UTC (permalink / raw)
  To: meta

Once again this speeds another endpoint up 10% or so.
---
 lib/PublicInbox/Feed.pm | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm
index 9141faaf0..279106d28 100644
--- a/lib/PublicInbox/Feed.pm
+++ b/lib/PublicInbox/Feed.pm
@@ -48,15 +48,15 @@ sub generate_html_index {
 }
 
 sub new_html_i {
-	my ($ctx) = @_;
-	return $ctx->html_top if exists $ctx->{-html_tip};
-	my $msgs = $ctx->{msgs};
-	while (my $smsg = shift @$msgs) {
-		my $eml = $ctx->{-inbox}->smsg_eml($smsg) or next;
-		return PublicInbox::View::eml_entry($ctx, $smsg, $eml,
-							scalar @$msgs);
-	}
-	PublicInbox::View::pagination_footer($ctx, './new.html');
+	my ($ctx, $eml) = @_;
+	$ctx->zmore($ctx->html_top) if exists $ctx->{-html_tip};
+
+	$eml and return PublicInbox::View::eml_entry($ctx, $ctx->{smsg}, $eml,
+						scalar @{$ctx->{msgs}});
+	my $smsg = shift @{$ctx->{msgs}} or
+		$ctx->zmore(PublicInbox::View::pagination_footer(
+						$ctx, './new.html'));
+	$smsg;
 }
 
 sub new_html {
@@ -69,7 +69,7 @@ sub new_html {
 	$ctx->{-html_tip} = '<pre>';
 	$ctx->{-upfx} = '';
 	$ctx->{-hr} = 1;
-	PublicInbox::WwwStream::response($ctx, 200, \&new_html_i);
+	PublicInbox::WwwStream::aresponse($ctx, 200, \&new_html_i);
 }
 
 # private subs

^ permalink raw reply related	[relevance 7%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2020-07-05 23:27     [PATCH 00/43] www: async git cat-file w/ -httpd Eric Wong
2020-07-05 23:27  7% ` [PATCH 32/43] feed: /$INBOX/new.html fetches blobs asynchronously Eric Wong

Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).