diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | top/maint.mk | 7 |
2 files changed, 16 insertions, 1 deletions
@@ -1,3 +1,13 @@ +2016-08-02 Ján Tomko <jtomko@redhat.com> + + maint.mk: expand the prohibit_doubled_word regex + This check has a static list of words that are checked for + repetitions. Expand it before running the perl script to + avoid using expensive captures. This decreases the cost + for libvirt from 1.66s to 0.66s. + * top/maint.mk (prohibit_doubled_word_expanded_): Define. + (sc_prohibit_doubled_word): Use it. + 2016-07-26 Ján Tomko <jtomko@redhat.com> useless-if-before-free: skip non-matching lines early diff --git a/top/maint.mk b/top/maint.mk index 9ca2bd3b32..868e10f004 100644 --- a/top/maint.mk +++ b/top/maint.mk @@ -962,8 +962,13 @@ perl_filename_lineno_text_ = \ -e ' print "$$ARGV:$$n:$$v\n";' \ -e ' }' +prohibit_doubled_words_ = \ + the then in an on if is it but for or at and do to +# expand the regex before running the check to avoid using expensive captures +prohibit_doubled_word_expanded_ = \ + $(join $(prohibit_doubled_words_),$(addprefix \s+,$(prohibit_doubled_words_))) prohibit_doubled_word_RE_ ?= \ - /\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims + /\b(?:$(subst $(_sp),|,$(prohibit_doubled_word_expanded_)))\b/gims prohibit_doubled_word_ = \ -e 'while ($(prohibit_doubled_word_RE_))' \ $(perl_filename_lineno_text_) |