about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2023-11-30 11:41:07 +0000
committerEric Wong <e@80x24.org>2023-11-30 21:37:00 +0000
commit2e3d2fdcad7181b8b4a8893023d4819a25e54ba1 (patch)
tree114b05e53720efe6205d303fbd7d6c8d3e63b79d
parentfa9d151442450469f401f6e0b325c680e9a4cde2 (diff)
downloadpublic-inbox-2e3d2fdcad7181b8b4a8893023d4819a25e54ba1.tar.gz
We no longer vivify the intermediate $ibx->{-hide} hashref,
instead we use $ibx->{-hide_$KEY} directly.  This avoids
an intermediate hashref and extra hash table lookups.
-rw-r--r--lib/PublicInbox/CodeSearch.pm2
-rw-r--r--lib/PublicInbox/Inbox.pm8
-rw-r--r--lib/PublicInbox/WwwListing.pm2
3 files changed, 4 insertions, 8 deletions
diff --git a/lib/PublicInbox/CodeSearch.pm b/lib/PublicInbox/CodeSearch.pm
index 208f7528..f4694686 100644
--- a/lib/PublicInbox/CodeSearch.pm
+++ b/lib/PublicInbox/CodeSearch.pm
@@ -328,7 +328,7 @@ EOM
                                 if (my $git = $dir2cr{$_}) {
                                         $ibx_p2g{$_} = $git;
                                         $ibx2self = 1;
-                                        $ibx->{-hide}->{www} or
+                                        $ibx->{-hide_www} or
                                                 push @{$git->{ibx_score}},
                                                         [ $nr, $ibx->{name} ];
                                         push @$gits, $git;
diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm
index 7af0ad90..dd689221 100644
--- a/lib/PublicInbox/Inbox.pm
+++ b/lib/PublicInbox/Inbox.pm
@@ -70,12 +70,8 @@ sub new {
                 delete $opts->{feedmax};
         }
         # allow any combination of multi-line or comma-delimited hide entries
-        my $hide = {};
-        if (defined(my $h = $opts->{hide})) {
-                foreach my $v (@$h) {
-                        $hide->{$_} = 1 foreach (split(/\s*,\s*/, $v));
-                }
-                $opts->{-hide} = $hide;
+        for $v (@{delete($opts->{hide}) // []}) {
+                $opts->{-'hide_'.$_} = 1 for split(/\s*,\s*/, $v);
         }
         bless $opts, $class;
 }
diff --git a/lib/PublicInbox/WwwListing.pm b/lib/PublicInbox/WwwListing.pm
index e3d2e84c..2d6c74da 100644
--- a/lib/PublicInbox/WwwListing.pm
+++ b/lib/PublicInbox/WwwListing.pm
@@ -79,7 +79,7 @@ sub hide_key { 'www' }
 
 sub hide_inbox {
         my ($ctx, $ibx, $re) = @_;
-        $ibx->{-hide}->{$ctx->hide_key} ||
+        $ibx->{'-hide_'.$ctx->hide_key} ||
                 !grep(/$re/, @{$ibx->{url} // $ctx->{-name_is_url} // []})
 }