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.
---
 lib/PublicInbox/CodeSearch.pm | 2 +-
 lib/PublicInbox/Inbox.pm      | 8 ++------
 lib/PublicInbox/WwwListing.pm | 2 +-
 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} // []})
 }
 

Reply via email to