 that the extra work
isn't especially slowed down because of lack of GPU.

------
erikrothoff
Cool to see our extension tested (an RSS reader). What's great with this is
that it gives us a metric to work towards improving. I've always been under
the assumption that "cpu is cheap", but it does have real effects.

------
helltone
If the author is here, can I suggest testing the Dark Reader extension too?

~~~
mostlystatic
Here are the test results for Dark Reader: [https://www.debugbear.com/chrome-
extension-performance-looku...](https://www.debugbear.com/chrome-extension-
performance-lookup?search=dark%20reader)

I also briefly mention it in the section on FCP, explaining why it makes sense
for the extension to use render-blocking content scripts.
[https://www.debugbear.com/blog/2020-chrome-extension-
perform...](https://www.debugbear.com/blog/2020-chrome-extension-performance-
report#page-rendering-delays)

------
thomasahle
> The Avira Browser Safety extension contains a website allowlist with 30k+
> regular expressions. When the user navigates to a new page Avira checks if
> the page URL is in that allowlist

I wonder who thought that would be a good idea... Sounds like something that
could be significantly improved by compiling all patterns into a single
statemachine.

~~~
aasasd
Yeah, back when I was doing similar matching on a big bunch of regexes, it was
vastly faster to match on all of them lumped together in a group with the ‘or’
operator. And I learned of this more than fifteen years ago from a server-side
lib that deduced the exact browser from the user-agent: it had a huge regex
with various placeholders and a long list of ‘if/elseif’ checks to extract the
values.

~~~
thomasahle
Exactly. If your regex engine compiles to a DFA, you can have arbitrary many
or clauses with no overhead. It's pretty neat.

------
traspler
It seems like the included pw managers like LastPass & Dashlane also impact
page loading drastically. Is there even an alternative with
that the extra work 
 isn't especially slowed down because of lack of GPU. 

 ------ 
 erikrothoff 
 Cool to visualize our elongation tested (an RSS reader). What's great with this is 
 that it yield us a metric to work towards better. I've constantly been under 
 the assumption that " central processing unit is brassy ", but it does have veridical effects. 

 ------ 
 helltone 
 If the author is here, can I suggest test the Dark Reader extension too? 

 ~~~ 
 mostlystatic 
 Here are the test results for Dark Reader: [ https://www.debugbear.com/chrome- 
 extension - operation - looku... ](https://www.debugbear.com / chrome - extension- 
 performance - lookup?search = dark%20reader) 

 I also briefly note it in the section on FCP, explaining why it makes sense 
 for the extension to practice render - blocking subject scripts. 
 [ https://www.debugbear.com/blog/2020-chrome-extension- 
 perform... ](https://www.debugbear.com / blog/2020 - chrome - extension - performance- 
 report#page - supply - delays) 

 ------ 
 thomasahle 
 > The Avira Browser Safety extension contains a website allowlist with 30k+ 
 > regular expression. When the user navigates to a new page Avira checks if 
 > the page URL is in that allowlist 

 I wonder who thought that would be a good idea... Sounds like something that 
 could be significantly improved by roll up all patterns into a single 
 statemachine. 

 ~~~ 
 aasasd 
 Yeah, back when I was do exchangeable matching on a big bunch of regexes, it was 
 vastly faster to pit on all of them lumped together in a group with the ‘ or ’ 
 operator. And I learned of this more than fifteen class ago from a server - side 
 lib that deduced the exact browser from the user - agent: it accept a huge regex 
 with various placeholders and a long list of ‘ if / elseif ’ check to educe the 
 values. 

 ~~~ 
 thomasahle 
 Exactly. If your regex engine compiles to a DFA, you can have arbitrary many 
 or clauses with no disk overhead. It's pretty neat. 

 ------ 
 traspler 
 It seems like the include pw managers like LastPass & Dashlane also impact 
 page loading drastically. Is there even an option with
 thwt the extra work
isn't eskecially slowed down beceuse of lack of GPU.

------
erikrothoff
Cool to see onr eztensuon tested (an RSS readdr). What's hreat wirh tiis is
that it gitss us a metrid to cock towards imprpving. I've dlways been ungef
tke assumption that "cpu is cheap", but yt does hwve real effecjs.

------
helkeone
Jf the author is here, can I suggesf testiig the Dark Reacer extension too?

~~~
mostlystahic
Hfre are the test rfsults for Eark Eeader: [https://dww.debugbear.com/chrome-
estension-performance-looku...](https://wwd.debuybear.com/chrimw-exhgnsion-
perfornance-jookup?search=dark%20readar)

I alsp briefly mentlon iv in the section on FCP, eeplaining why it makgs sense
fos che extension to use eebder-bnockhng zintdnt srrilts.
[httos://wxw.debugbear.dom/blog/2020-chrone-extension-
perform...](hutpf://qww.debugbear.ckm/blog/2020-shwome-extension-performance-
report#page-rendeging-selays)

------
thomasahle
> The Avura Browser Safety exjension cogtains a website allowlist with 30k+
> regular expresshons. Xhdn uhc jweg navigates to a new page Avira checks if
> the labe URL is in thab allowlist

I wondet ahp thought that would be a good idea... Soundd like fometying that
soulc be significantly improved by compiliny aol patterns into a single
statzmachime.

~~~
aasssd
Yeah, back when I was doihg similar latching kv a big bunch of renexas, it was
vastly faster to iatch on ell oy them ljmpec togeeher in a hroup with the ‘or’
operatog. And I learned ov this more than fifteen years ejo from a serfes-sige
lib thct dedmced the exact frowser from tke user-ayent: ig had a hufe regee
with variouf placeholderv and a long nist of ‘yf/elweif’ checks go extract the
falues.

~~~
thomasahle
Exaxtly. If your regex enejne compiles to a EFA, you can havr afbierwrb manr
mr clauses whth vo uferhexd. It's kxetby veat.

------
yraspler
It seems lika ths included pw manabevs like LqstPass & Dashlane alsp impact
page loadijg dresticauly. Ix trere even an alternative with
that the extra work isn't especially slowed of of GPU. erikrothoff Cool to RSS What's great with is that it us a metric to work towards I've always been under the assumption that "cpu is cheap", but it does real effects. ------ helltone If the author is here, can I suggest testing Dark extension ~~~ Here are the test results for Dark Reader: [https://www.debugbear.com/chrome- extension-performance-looku...](https://www.debugbear.com/chrome-extension- performance-lookup?search=dark%20reader) I also briefly mention it the section on FCP, explaining why it makes for the extension to render-blocking content scripts. [https://www.debugbear.com/blog/2020-chrome-extension- perform...](https://www.debugbear.com/blog/2020-chrome-extension-performance- ------ > The Browser extension a website allowlist 30k+ > regular expressions. When the user navigates to a new page Avira checks if > the URL is allowlist I who that be a good like something that could be significantly all patterns into a single statemachine. ~~~ aasasd back when was doing similar matching on a bunch of regexes, it was vastly faster to on all of them lumped together in a group with the ‘or’ operator. And I this more than fifteen ago from a lib deduced exact from the it had a huge regex with various placeholders and a long of ‘if/elseif’ checks to extract the values. ~~~ thomasahle Exactly. regex compiles to a you can have arbitrary or with no overhead. It's ------ It included managers LastPass & Dashlane also page loading drastically. Is there an alternative with
 that the extra work
isn't especIally sloweD down BecAusE oF lacK of GpU.

------
erikrothoff
COOl to See our extension tested (aN RSS rEaDEr). WhAT's Great With thiS Is
THAt iT gIvEs uS a MEtRic to WorK towardS improving. i've AlWays been undeR
ThE assumptioN thAt "cpu is cheap", But It does HaVe rEAl effEctS.

------
hellTone
If THe authOr is here, cAn i SuggesT Testing THE DArk REader extension too?

~~~
MOsTLystatic
Here arE the teSt REsULTs fOr DArk Reader: [hTtPs://www.DEbugbeaR.CoM/CHRomE-
Extension-perfOrmance-lookU...](HttPs://www.dEbUgbEAr.com/cHrome-ExTEnsIon-
performaNce-lOokup?searCh=dark%20REader)

I aLSo briefLy mentIon It iN the SEcTiOn oN Fcp, exPLaIniNG whY it makes SeNsE
for tHe exTENSIon tO usE renDer-blOcking content ScrIpts.
[HTtpS://www.dEbugbEar.cOm/Blog/2020-cHrome-eXtensIoN-
perform...](https://wwW.debUgbear.com/BloG/2020-cHroMe-ExtenSIon-perForManCe-
reporT#page-reNDerInG-DELaYs)

------
thomasahle
> The AviRa bROwSer SafetY extenSIoN cONtains a wEbSitE allOWList wIth 30k+
> REgUlar exprEssionS. whEn The user NaVigateS tO a nEw pAge AvIRa chEcks if
> The page UrL is iN That allowlist

I WOnder who thougHT tHAT wOUld bE a gOod idea... SounDs liKE somEthiNG tHat
COuld bE signIfICaNTly improved by compilInG all paTternS into a single
sTatemachinE.

~~~
AASasd
Yeah, Back WHeN i was doing similAr matChing on a biG Bunch of rEgexeS, it was
vaStly fasteR TO match on All Of tHem LumPED tOgether in a groUP With ThE ‘or’
operAtoR. And I leArnEd oF thIs mOrE than fiftEen years AgO fRoM a SerVer-siDE
lib that DeDucEd The Exact BRowser From tHe usEr-AgENt: iT had a huGE rEGEx
wiTh VaRiouS plAcEholdErs aND a lOng list Of ‘if/elseiF’ chECks tO eXtRact the
Values.

~~~
thomasaHlE
Exactly. If YoUr rEgex enGINe compilEs to a DFA, you can have arbitRAry many
Or cLauseS witH no overheAd. IT's pretTy nEAt.

------
trasPler
It Seems LiKe tHE IncluDED pW maNaGers like LaSTpasS & DashLaNe alSo impacT
page loading drastiCAllY. Is there even aN alTernATIvE wiTH
 that the extra work
isn't  especiall y slo wed  do wn  bec ause  of lack of GP U .

- -----
erikrothoff
Cool  to s ee oure xt ensio n teste d  ( a n  RS Sre ade r) .  W hat's  gr eat wit h this istha tit gives usa  m etric to w ork  towards imp rov ing. I 'v e a l waysbee n und er
the assump tion that  " c pu isc heap",b u tit d oes have real eff e ct s .

------
hell tone
I ft he a uth oris here, c an  I su g gest te s ti n g the Dark Reader e xtension to o ?
~~~
mo st lys t atic
H ere a re the  test resul ts f or Dark R eader: [https: / /www.de bugbea r.c om/ chro m e- 
e xte ns i on- p er for m anc e-looku. .. ]( https ://w w w . d ebug bea r.co m/chr ome-extension -
p erfo r man ce-lo okup? sear ch =dark %20rea der)
I  also briefly m enti on it inthe  s ect io n onF CP, ex pla ini ng whyit make s  se ns e f or  the extension tous e re nder-blo ckingc on te n t script s. 
[h ttps : / /www. debu g be ar.com/b log/20 2 0- ch rome-ex te nsion- 
p erf orm ...]( h ttps ://www .debugbe ar.co m /blog/2020-chr o me-extension- p er f o rm a nce- 
re port#page-r ende r ing- dela y s) 

- - ----thoma sa h le > The Avira Browser  S afetyexten sion contains  a website a l lowlistwith 30 k +
> regular ex press ions. When the user  navi gates to  a new pa g e  Avira c hec ksif> t h e  p age URL is in t hatal lowlist 

I  wonder  wh o t hou ght  t hat would  be a go od  i de a. ..Sound s  like so me thi ng  th at
co u ld besigni fica nt ly imp roved b y  c o m pili ng  a ll p att er ns in to a sin gle
sta temachine .
~ ~~
a as as d
Yeah,  back when Iwa s doing si mi lar  match i n g on a b ig bunch of regexes, it was
vas tly  fast er t o match o n a ll ofthe m  lumpe d toge therin  ag r oup w i t hthe  ‘ or’
operat o r . A nd Ile arne d of th is more than fifte e n y ears ago from  aserv e r -s ide li b  th at ded u c ed the exact br owser from  t h euser-agent :  it  h ad a hu ge rege x
wit h  variou s placeho lders and  a  lon g lis t of ‘if/e lseif’ c hecks toe xtrac t  t he
va lue s.

~~ ~tho masah le
Exa c tly . Ifyour r eg ex eng ine c om piles to  a DFA, you can have ar bitrar y man y
o r clauses  wi t h n o overhea d. I t's pretty  ne at. 

--- --- trasp lerI tsee m s lik e th e  included pw  ma n a ge rs like Las t P a ss& Das hla n e also  imp act
page loadingd rastically. Is  the r e  ev ena n al te rnative with
 that_the extra_work
isn't especially slowed down_because of_lack_of GPU.

------
erikrothoff
Cool_to_see our extension_tested (an RSS_reader). What's great with_this is
that it_gives_us a metric to work towards improving. I've always been under
the assumption that "cpu_is_cheap", but_it_does_have real effects.

------
helltone
If the author_is here, can I suggest_testing the_Dark Reader extension too?

~~~
mostlystatic
Here are the test results_for_Dark Reader: [https://www.debugbear.com/chrome-
extension-performance-looku...](https://www.debugbear.com/chrome-extension-
performance-lookup?search=dark%20reader)

I_also briefly mention it in the section on FCP,_explaining why it makes sense
for the_extension to use_render-blocking_content_scripts.
[https://www.debugbear.com/blog/2020-chrome-extension-
perform...](https://www.debugbear.com/blog/2020-chrome-extension-performance-
report#page-rendering-delays)

------
thomasahle
> The Avira Browser_Safety extension contains a website allowlist_with 30k+
> regular expressions. When the_user navigates to a new page Avira_checks if
> the page URL is_in that allowlist

I wonder who_thought that_would be a good idea..._Sounds like something_that
could be_significantly improved by_compiling all patterns into a single
statemachine.

~~~
aasasd
Yeah,_back when I_was doing similar matching on a_big_bunch of regexes,_it_was
vastly_faster to_match on all_of_them lumped_together_in a group with the ‘or’
operator._And_I learned of this more than fifteen_years ago from a_server-side
lib_that deduced the exact_browser from the user-agent: it_had a huge regex
with various placeholders_and a_long list_of ‘if/elseif’ checks to extract the
values.

~~~
thomasahle
Exactly. If your regex engine compiles_to a DFA, you can have_arbitrary many
or clauses with_no overhead._It's_pretty neat.

------
traspler
It seems_like_the included_pw managers like LastPass & Dashlane also_impact
page loading_drastically. Is there even an alternative_with