From: Eric Wong <e@yhbt.net>
Date: Sat, 25 Jan 2020 04:45:01 +0000 (+0000)
Subject: xt/perf-msgview: switch to multipart_text_as_html
X-Git-Tag: v1.3.0~55
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=7d6f64eceeec2e0d4886d62480d183934801fa67;p=public-inbox.git

xt/perf-msgview: switch to multipart_text_as_html

It's a more widely-used (but still internal) API which will
probably last longer than msg_html.  It also reaches deeper into
the stack and avoids the overhead of ->getline via PSGI, so it's
faster and gives a more accurate measurement of lower-level parts.
---

diff --git a/xt/perf-msgview.t b/xt/perf-msgview.t
index 8c9037ee..9375977a 100644
--- a/xt/perf-msgview.t
+++ b/xt/perf-msgview.t
@@ -35,18 +35,18 @@ my $ctx = {
 my ($str, $mime, $res, $cmt, $type);
 my $n = 0;
 my $t = timeit(1, sub {
+	my $obuf = '';
+	$ctx->{obuf} = \$obuf;
 	while (<$fh>) {
 		($cmt, $type) = split / /;
 		next if $type ne 'blob';
 		++$n;
 		$str = $git->cat_file($cmt);
 		$mime = PublicInbox::MIME->new($str);
-		$res = PublicInbox::View::msg_html($ctx, $mime);
-		$res = $res->[2];
-		while (defined($res->getline)) {}
-		$res->close;
+		PublicInbox::View::multipart_text_as_html($mime, '../', $ctx);
+		$obuf = '';
 	}
 });
-diag 'msg_html took '.timestr($t)." for $n messages";
+diag 'multipart_text_as_html took '.timestr($t)." for $n messages";
 ok 1;
 done_testing();