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 4/4] linkify: modify argument in place
  2016-12-24 11:52  6% [PATCH 0/4] HTML micro-optimizations Eric Wong
@ 2016-12-24 11:52  7% ` Eric Wong
  0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2016-12-24 11:52 UTC (permalink / raw)
  To: meta

This results in over 1% speedup doing $MESSAGE_ID/T/ HTML
generation for a 368-message thread.
---
 lib/PublicInbox/Linkify.pm | 17 +++++++----------
 lib/PublicInbox/View.pm    |  5 ++---
 2 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/lib/PublicInbox/Linkify.pm b/lib/PublicInbox/Linkify.pm
index acd2a47..8e1728c 100644
--- a/lib/PublicInbox/Linkify.pm
+++ b/lib/PublicInbox/Linkify.pm
@@ -22,11 +22,10 @@ my $LINK_RE = qr{(\()?\b((?:ftps?|https?|nntps?|gopher)://
 		 (?:\#[a-z0-9\-\._~!\$\&\';\(\)\*\+,;=:@/%\?]+)?
 		 )}xi;
 
-sub new { bless {}, shift }
+sub new { bless {}, $_[0] }
 
 sub linkify_1 {
-	my ($self, $s) = @_;
-	$s =~ s!$LINK_RE!
+	$_[1] =~ s!$LINK_RE!
 		my $beg = $1 || '';
 		my $url = $2;
 		my $end = '';
@@ -50,19 +49,17 @@ sub linkify_1 {
 
 		# only escape ampersands, others do not match LINK_RE
 		$url =~ s/&/&/g;
-		$self->{$key} = $url;
+		$_[0]->{$key} = $url;
 		$beg . 'PI-LINK-'. $key . $end;
 	!ge;
-	$s;
+	$_[1];
 }
 
 sub linkify_2 {
-	my ($self, $s) = @_;
-
 	# Added "PI-LINK-" prefix to avoid false-positives on git commits
-	$s =~ s!\bPI-LINK-([a-f0-9]{40})\b!
+	$_[1] =~ s!\bPI-LINK-([a-f0-9]{40})\b!
 		my $key = $1;
-		my $url = $self->{$key};
+		my $url = $_[0]->{$key};
 		if (defined $url) {
 			"<a\nhref=\"$url\">$url</a>";
 		} else {
@@ -70,7 +67,7 @@ sub linkify_2 {
 			$key;
 		}
 	!ge;
-	$s;
+	$_[1];
 }
 
 1;
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 39ca959..e4e9d7d 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -482,9 +482,8 @@ sub add_text_body {
 			flush_quote(\$s, $l, \@quot) if @quot;
 
 			# regular line, OK
-			$cur = $l->linkify_1($cur);
-			$cur = ascii_html($cur);
-			$s .= $l->linkify_2($cur);
+			$l->linkify_1($cur);
+			$s .= $l->linkify_2(ascii_html($cur));
 		} else {
 			push @quot, $cur;
 		}
-- 
EW


^ permalink raw reply related	[relevance 7%]

* [PATCH 0/4] HTML micro-optimizations
@ 2016-12-24 11:52  6% Eric Wong
  2016-12-24 11:52  7% ` [PATCH 4/4] linkify: modify argument in place Eric Wong
  0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2016-12-24 11:52 UTC (permalink / raw)
  To: meta

Testing with a horriblely long 368-message thread on git@vger,
I've found some minor tweaks which give us some tiny speedups.
Unfortunately, these are minor and new features may end up
costing us more in the future.  Further optimizations are
needed.

Eric Wong (4):
      view: remove unused parameter
      view: stop chomping off whitespace at ends of messages
      view: do not modify array during iteration
      linkify: modify argument in place

 lib/PublicInbox/Linkify.pm | 17 +++++++----------
 lib/PublicInbox/View.pm    | 21 +++++++++------------
 2 files changed, 16 insertions(+), 22 deletions(-)


^ permalink raw reply	[relevance 6%]

Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2016-12-24 11:52  6% [PATCH 0/4] HTML micro-optimizations Eric Wong
2016-12-24 11:52  7% ` [PATCH 4/4] linkify: modify argument in place 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).