On Thu, 2019-05-30 at 20:35 -0400, Kevin A. McGrail wrote:
> I was curious if anyone noticed the debug output for subtests has
> gotten
> insane:
> 
> May 30 20:29:35.492 [8403] dbg: check:
> subtests=__AM_DYING,__ANY_TEXT_ATTACH,__ANY_TEXT_ATTACH_DOC,__BODY_TE
> XT_LINE,__BODY_TEXT_LINE,__BODY_TEXT_LINE,__CT,__CTYPE_HAS_BOUNDARY,_
> _CTYPE_MULTIPART_ANY,__CTYPE_MULTIPART_MIXED,__DKIMWL_FREEMAIL,__DKIM
> WL_WL_MED,__DKIM_DEPENDABLE,__DKIM_EXISTS,__DOS_BODY_WED,__DOS_HAS_AN
> Y_URI,__DOS_HAS_LIST_ID,__DOS_HAS_LIST_UNSUB,__DOS_HAS_MAILING_LIST,_
> _DOS_LINK,__DOS_RCVD_MON,__DOS_REF_2_WK_DAYS,__DOS_RELAYED_EXT,__DOS_
> SINGLE_EXT_RELAY,__E_LIKE_LETTER,__E_LIKE_LETTER, [...]

Shortened that output of the _SUBTESTS_ Template Tag. Suffice to say it
showed both rules __LOWER_E and __E_LIKE_LETTER their respective
maxhits times.


> 72_active.cf:    body            __LOWER_E       /e/
> 72_active.cf:    tflags          __LOWER_E       multiple maxhits=230
> 
> 72_active.cf:    body            __E_LIKE_LETTER /<lcase_e>/
> 72_active.cf:    tflags          __E_LIKE_LETTER multiple maxhits=320
> 
> Assuming those maxhits are correct,

There are a total of 6 rules with maxhits >= 100 (or > 26 in case you
prefer), all sub-rules. Also, all living in Bill's sandbox...


> maybe we need something in the debug
> output that says __E_LIKE_LETTER (number of hits if more than 1).

With maxhits of 20+ I'd be in favor of such an abbreviation.

Applied in any case of more than a single hit, I don't mean to collapse
in cases exceeding a threshold. I just mean it's not worth bothering if
there are only instances of about 10 at most... 

Do note though that it is the same with regular (non-sub) rules: With
tflags multiple they are listed up to maxhits times in both header
style _TESTS_ and _REPORT_ as well as body style _SUMMARY_ Template
Tags.


Reminds me of the multiple and maxhits long pre-dating Rules Emporium
backhair and friends rule-sets with a similarly ridiculous tests hit
report pattern due to basically implementing these counting features in
pure meta...


-- 
char *t="\10pse\0r\0dtu\0.@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4";
main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1:
(c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}

Reply via email to