From 1f1e06662055f164f90e0183aeb1526db93f98f5 Mon Sep 17 00:00:00 2001 From: bloeys Date: Fri, 10 Jun 2022 05:09:42 +0400 Subject: [PATCH] Continue+Docs --- .res/bench-10-million.png | Bin 0 -> 92674 bytes .res/bench-100.png | Bin 0 -> 90659 bytes README.md | 104 ++++++++++++++- go.mod | 2 +- nlookup.go | 57 ++++---- nlookup_test.go | 264 +++++++++++++++++++++++++++++++++++++- 6 files changed, 395 insertions(+), 32 deletions(-) create mode 100755 .res/bench-10-million.png create mode 100755 .res/bench-100.png diff --git a/.res/bench-10-million.png b/.res/bench-10-million.png new file mode 100755 index 0000000000000000000000000000000000000000..e05967dd2e2792fc9c50f9a7fe541b9b18f7d6e4 GIT binary patch literal 92674 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

hq&X$4^OC0wA7^r?6BJBc6Z=Yz#Fy?_2?FeMZ3 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:v?z)Q}~VM?-b)K~Ugvzs0MKnui)^g_C+q~p{w3+70I#b8ZYl$vkFiL190As5m~zlkB;9ms$8}uz z?#Y8EsLN>jl1K>B!&$71YbNL+aELNBE^6(}c7+Rf-JENbh4XKE`&l+N!AEVsHOb!b z_}s~R8`rB}@>*L;_mU2}!DxKGhOq(MNmw!IQR0u}Q}zKohap#HvMhg3kcfhU+i~CV zHWiHv4Nm>G+5>D6))9*Npk!6FyRp$EooEVi?;;Uif|{OZa>zpoA+Y%(exc3TEzBu0;XzV|U z2kxAO4zXdL%(suZ^nXOFfq-RRa&1 z`!$Hih1I4k)%SM^cPV8qBY@_6qhoZyS|%s9C6+3?gX^p-B*o1UhI zTbS);fvmf~d3dIgYPh88V_hNRGP2>^>4UL~VUw~lL$_OK-k)79czg2d{h3LIe`CqD zn?bWZEShx>H#XF^-6qSFNZj5Awm>TP*?n;*8!{KC?U9=MZS*p4(X=dID9H<+IP5pL zou}Oj7U|C%Op!f4uc$va{kShWAmmX>_v-D}PG5Wfm6&8S6$cX8i$!SkSL?#nWM>I_ zshy2r7W2aMx$X44ikZ6;Mmc#-LQEY$8V1f+dbaHZPf_pfetlt9r}tigBLJ69tB>9} z*ec2Cp!*8lRg@P}ylVrwN>L)AI3_ zqzXIF?hT@U-9j!!A?uOnyZsFqA-3g=+_K^7jeJ|9rZVNLDWaavCSqF`A{Um93rik- z`vl0)aG`dgvt!UjlURQu-*kZ}^57Zw1?26a_7QZAD!>Hv9JE;7W^TjVjtT>UGM)n3U6JEZRvl{t>GJVD%87-t zg52$8^GC%#`2D1qzzykpXHw3;_;=#Y-;8TqY7_7bU3|=ie&{pYCafnYqXqVa)&>}^ z1(Ot&mt$Gr4>eyxddcdZ74wx@O<{WR)!+Z-Uwt}$0*yS~tk7sX!X&>XO~0O0>ivI- zR(>vMUzVchU;fvxKREB9=D>gZo96*kfBi(%-}h&<{rL|@ey?=>NVG$Q4g>4hb&X0L z_g2_AczJ2N)W8V0jb4OA9WwpA|48p5#U-okxFe?5bba5Rp9yO7 z#o2Dl`|^i>^6qt60jXzO1Ggj{K$q|Uj9{Fgc9DVQp}x=iEA<}%`WapVU|kUlFF11C zsj3&3i9Vx?x1TNO)Q<-YDyzwRTro4dJvErCDVUHFD1z zNwHmzyt?DipN5g1QxLZpOnJkQ|71yC{B*0MK5pOGTEa0uxU?O5WS6>IYi2l(l<30{vC1&sm_RW|uKorL$57b+Q}c^O}9V zCYjKF-|o~dFYhNNd13Ae-5A0ho_XK{wX+7HIgJ1UsWuE-rk3xY)TNGwlGtkZ-Nk*i+{7Mo&3s`xN<}`dZ0Au(3WTa*IKF_OJF|0iN)am`C$8}2! zsyhxX-h&ioBG@mmCDyfT&u$N}yU)vARQl7A zeAlYcy7APvS*~OcC-KR5febzFG<|9ZSa}>aJ$bHykUpa<4Q9HYDYB-;lS@|6` z@X1a$q$qHK_lzyf8xfSFCrI)y1zwm;(yb%4)%j<;r(SE$%#Itrc0=|Zu?+|MO6RHo zo$nx&&K5iVJf|zU+3OvT9*iD!TVdQ zYYkXG5qBBNWV%~e<@fjXiy+U;D^EG9_fd(_YplL|?5ajmZS*CxV-?r9zqD{@wXm;C z&YJ4{(3W~`=j{1|d%<-vXw;lgIH!TZ>#0w5#JDc%wRhQghtN2LPEyvq{$>K%HwQAL zBo7sTMLE81^6;T1668Ml;M=4drPP+`1BrEO!loVD_EQ`A%heg=7MEW_&GR*P4~H?^ z3oKDtQ{hFq;b6;vNZ7|t1y@FK;c%O+%j{|W`KLNxqL(72IdyyG*E70#Nz%v-BZWtR zj-i|XozU~~#M1D(QC-}(&RozJ7X2=L?pkXDCp0`eg~`@ID_tDfl{RxvzopKFm|3vq z4bIAC)K*Ug{s^>~iFKot>68mSmfew#2)1z6xC+yhf3J!|CC#Z4MDvIp5o2Cb9NwU%GN*p*0rm?G@xQQ z>%~Jl1kE#p^S)q&923-y)bR`V6DDzveq{vN z0_p{&0WZjL0!jh3t>}hI<@CE_un{eBbz^&&DYxQD}bDTu=>O@&p%?z zm^ke@D_!6~sk%^6i77+IO&n0k*L%Pm7jmu-gBuyX)bKz)e5iXZqY2(nm3z~~l5x5d zXW|ivkA1>+^o1PnAf|LZvPPx#JDa@5)pvH$z|`+uJ7`Myf#nI^^C>ntzcUpTZfBpG z4gFOUU|A?UC!#(1RFjBqorhVwk!jl3y6k29d?3e6YxKIx^g+!erA@xcIHryQW>^SA z`ujOMv}w144VD8|{DQkRHf-??kUEiqMvNdqQ&^MWzJullnA5 zoncb6S~^h1Z2mmY>Y|OBvl=NzejZm8XQ!{%#lD7dN(Nlot}@fJlEn?AM9EEEj)2Pb*TwZEfj|u;r5{1J!1h;Lg_MM{h=SAApx; zM{*gcVf##Z(#rU`p3Oooh=a}5Lz~1;iG9y=#zu12txm6=V^r1>q}hGa2Q&eMa1 z_!}PU6(O}Zx3xJiRUX{b9twPj6UBh`9fx&8bT*6voO$+`GK9s zelG9cXzz_Bvj~r;&;aLVCL;9(VutxN2>zXQrMlGPu;$R31Sn3at>qlXoIWY52+z<= zdrCovbUfpeAo{`w;UpZV9F)-7cTp=?89L(xq?VhXlvDB;KlY zJ(?C#yZFDTd&{t>+P?c=MG2JUG`s_1yRK;yI50i~oBLVD{{N?(SmU%U^jK)!4!IbLyD?C@z}WPzi|lDy_o|w$^j#SZVDa9Nq77GrjX=% zu>25CI*xa49)h{XP2_SjB+!wvs)9KH@MBUiPt&k#SfFal!B$gJ|8k@A;9_l&R^mX9NlEV8(@J$OSmwY?WM2cNE$uUBEM^n-~d;VjO-d5Ev4PYd53%QK*Xv zOaG!^%O!Cuqk8k2$oA7?{IaF;VI8*$wIk#bF+HTkd%^CstiC+&7y`Q=byh68G&<`Y zi4Ot*KF*7N?Fb5mV;Hq@e<|bw=eZTbvCYP&DkvE;MTFThQgB#xcD>uPH{EuHLDrSE zai*QJpy?J)7ZF@kZpxcLzi0Ei&W2gikqW$3!J}zV&@Q*!{Th}Ll`f>BTs6A8x;rIZ z$apCMLWN6N;&shngKOj3emCE^MZc^k1ho_K;%G^BNz8VYF%7MvS;MMo1>FQ8`gJq8 z)P>H$LaU}~*5IY1>sB0NwhApfM??>;%(SXT#Ag7afG)pWU=R}g{MG6X3JPCla_`b0#^ zV<>x@$KH38+Qh*@t2u7tzrH4Dsn zCJKV}mhQKG8gQp=k4ThbbG&?q$A$v(ajhLGqNEz#zd>jCa_T?wqC`SHzhs=a7}?*s z7FcqmcU!s1_yPr4(}b7W^Luue8D(0aM@ePNhHCT*h~d2Hf_PT;#h(Xzq0hg6a>bLO zzM#cm+#Ej9Xg0JI7nQw|@zf<(#PiE?T)&SQN`~0qq4K_^jBYqzkB0GdU4qk;YA@aE z@eTfpyeh8UNY&P>bag3-8Ei}KYaQ^}K`Na!8Ldl9%w!~LI>+25$$Fu1cJe3zE6zyM zX}T4IN8USYPVh;oicWuwsM*X%tjEO;!&#j}&%w6Dp$B&rhj#sf8&UJnzE|bHT{@2; zhW3wTP;io8VgWG1{^!Tg4s`XihriUb$W#70-LNP{DCjN+2P(~IUYmP7LN0oR55cE? z!eeGoRIXj4*Ps!E76zArFqncC2Bk<=OeH2VyCiy7Om1Hyqc)SI*msxE!vw{Ck2F7t z`lb=jd4I^#Ay_(I@~m&A33}Qm)D*{W?dYa+C;7FJVH+lK_U^d)>I)pYS6I{%_&FO! zUsxQJS$kB^wr960g7Lhd1FRh?DLN@RJJiLPd6yeqb{a`1rZ8=5r*6+YHwk<)?reG8 zLXRt`=k%FLuT))~56r=hc2Es;cJw>JB%Wne`##I@FqMLK8^FRC>lA5+%_r^XDCBfk z40t_#;IcgLQWs$4NMgx;vkfzCsN-FLQnW|*D+KU)Fyq~k7)7I0-$tjZ%(ZknnTH%d(zKZs-76NI4%h46SXKUZQ%ps77jY=`RWv6KV>nPK?#5O0aMSIJMMl*(#cS7S;y*FJQuxm3h2eH;<^QgTA7b-rFRN;fUx*cD4J(Yg)$6QlL zJG75~ys#uD&)GdD^pp^^1?MYf_wV#R6Dw3v4|1<|aRz6tT_sB(BR>4;@JMRg6uU3J zG~aor-l}`AAkXX)!&?#d`N+2C*f;PTl%F9VK~3euh?!UWXJ*6(R?sNH;P5iUGAIPM zy07|VpSyV=U9Zrt*NxIX&^qv=7w%Jv;>FUjT^w+RX$c+`9TBchSX?`?^K=>7*jui^ zw=F>N9Y{Z;zL2snk+tl0=OpNKj5&XAadPg!Y`!?DaBNR}KwNj#0HAJQDOciog4#P` zF5^EkA5){3JyL{zjrPn-81Khlub8IUiVDdRr>o7mlpFf02h6n8Q+BjcKwjTg;&@7g1@TBuKHW~)85a~e5+VC7T~*>WiLz49 zhjp8FZ+8Fu5Ue8f78rIJ1Qh_ge66rdOt`Go^9l z-iNMfSyh<@>~?61%@3;C_Y>)Qo|;g{dR*IzPSF*MH<@Q;zsvA5W7O9j(Om<3?|$SU z5l)3}IZ1gixw0m_pF5bog9t5e=BHxG_7t6gGK3vaG-s@^uxOMEl_zyoaP)zt;gsP~>uL*1*M_ScK-ON1e&uunP> z!W!*DdB}Kl&LPQ%0qFqYDW{#S8;5F-VUK?4kHl#G5h`wcd?44i>#tGoyL|1F*t@N` zi@QTB8)m@UhE3+5A2fXvkKC`juU63K)-DCZ2=B)g&6Jw(SrZ1ib;?FCf$mGgo`?>q zX`sYzdsP8C*^F0sn20<;HC(~FaE9A@c@>Lvw~@ArDs^_$AEZQN>RR{8;nENr`HP7m z3o$_=>SEU;Kk$qc-WJh!UbF@8s-4khx0*h$*LV|~$jbL0yYo}(U1wj;LG-Mb#FL8g zuNf=j92uD|NR(S7WVnKBJKd6oZ}d=9uRCCkX;_nzfler4Sl6v{r6g}l4?&!VkK}vb zNkxg;-zj(BPOip>67kdnjGNLlys?Q-q3^SS|X{%GbjH zPjIEn-HOk8J`Me}@s3(%!mMz8ZvemZGl(ZBZIyOnhZtM)t1|q#!W1bXJJr`*0`CTv$X0OHFrvfuKhSV7>{2|k%3UT+)_dG~$nPNicm438Mwk|m5JVs_RL*EQ4X zKaP|6MQH(nCU11tVIy_ja&#{>BFqD)SFp&dde{>8ugtoAg9g8_T<)W|t z^glE=Q*mdxs2CB=F-boJ1CsDu()(MkJD1&JZ|3|{U;Deb11*g`ilF~1^zPiD%X9A^ z!Fmy?ynos=QX5BrB$vkiG={=*s!|X!(>M)y8Sw#(m1u$l^g!b{? zih(eJNl5kXf}NHSl0Gm(L1<9a{2-NU`AXdRpU&8h={`+cv(ME!d~zH}kg5Z2+6n`x zsb>~i8A^Q)7d6FX!)pNb8(&V>powmq>;M?^^jn-fT-%LVyo`=ra_>w(tl(x}6&n=? zwpTfDHeP(;APMi0fY~*_F(9}YltjyA_}Cs{0wJY#{`s)CCq-iN2ioAOS-cvvTrzGQ zJmoxx>y%4^C$=1F3hr!lhhfW2+7-|r|4X@3hz03+`cN#2xiOj z$J0Y^|CZuno9+_P1Bg6hA0#=#9)MjIjNMnzWH7! zr}#Z{&=#YVB<(tiUJjM`6-bCX3F4L}_wFR(5aER+x)>XEUV@^Ir~TvwPz{;pa%y>Q zjBmq`Io3$!qLWQG_-Fr|KC7&!5RZFS&l5zV zInI?pdgC_*+S@sKl82KZqZV?!Y%raF4Zs`v}Tz%bByarci|6G6sZ~?^YmoAQnj+Pix zriOHU_6hlzz#}#i$^FH%d4(%DVO*A4KDV*Ua^Ame&M065Ifft*j)EX<4lWI{liCk8e`VpC^D}O2fT{)q;4f2U?-R74X z_(HinJ=Z^g*@1e2&)X~W1A&!KyxTJBoRss>Kt>A4Wja#KM=ry4JdW3ON@m(1kc|VN zAuf3Pd{yqY#poUh;f6Vd1=Pbz29qNcU;#p{rK3Kkj)-rfxWGvZd!*EoXd$L4H%+;F z19Wb5SFe9a^a*CKGE|*ieg`!S+&;A)&L>$OhIu>`9QbH63DG^uV?#@U@d^yGrzE8M zIQ8$vZ}2bupt-a6{ftFt2uG%kc{|A`{plNfbuoeH=WkhaKf8VRU@gQgX!4oSvMk9} z__$=={jswxaNlnu-cqcC0&|G@DqSK?+j|G&S?@o@6gyE#SoLl3KI`olI7#-jT}DQG zU*xR1*8;@ojyoefbk9Zv@WKXPsl5Kg{plySt4gValf&?ym30rDA;IM)_xT5sbD0Ky4yWq7J$us~a@sz9z??6(vFqw8{m=$?c?t2)G_k zc=YWVjl)$TQoMBs`@eNSrR-YpoPp62hc6cD7cSBgD84h?oj{BTl5 z>~C!yWD~6s#p<@idI;&Ve0^)RcOAQ;UtU;xDd{liwcpEpJi5cZ6%YwI-mmnT>kC`K zhlw_$b9n7h8cvjgPoA|i-6MlqsUvuXg44l8+IKtO$rVQG>=Sd8A2)wX#EX;~HLxf6 zZuf)D@~2>)Xb0c|@2U0Oe^dn|z(}+Nh~A^0OMr;Ef0Y0MO*Q2A;KIl!%hs{bY>CDJ zYg+Fx?`J!q+CcXG?~O!3kJ=2%ZFxwcOpgeavb+ zv%`_o($2|?FGsL7(phCC_-toqtQ4Brar@r8D=EcYzuL=!UJumn@>CL}lI7FpE7`X6 z)uu|guY`Ey`>=L2%e)P~g;9GQ^|ISwEw%osW~MJusnP)%ZQm7yj!YLaU*NxPvo1=*!?W+MTCMZRoF0F)+N@iAvN}cyv_-~x|SrCspPty3Ro}rLwoCdDI zqpH^-J>fBvdZla6LQj3>dM!B-4AYqdl`XsXo@lB$KCFRM_ga*L726N^bScN|nBV(w&X=FZGip^_W!d|eb2^-R%x)Fk6^OK>;M3ImuOM4Lsc*p+T%R9Xt!o3~;a{2J?kEV}gcC=ljDwH82#>AzXKVa!}K<0U@2)(oawj9`7 zZLroCmK&A2!I_UD<#UZiMhw#gH~S|T=0$R~KJs%_Hgta3ytxHUNm#ofUhThlwvLOmBKwiH6EaOt zFKyPYtG7|r$`I}f1hVvex`PAiY~L%s{K@tD&BG5wg4OX7Q%iAIAl(|oVP99zCAuwx zLSrYER#u z<;0=f_*V3sB1+kSc9=})2D3P8?tbx-;CRkc<%w3I%F-(NOnTZzw&^iFnmsZ`tz7KG2O1> zzg)Y2@NGr^iEq0u6(1w;qlGm1PKm29_66ythzv^2mV#L+eGd=`C z7zv*fN~*Efy2joVb{pVO&y(u9*KS0t$I`bNgaFk_FG9_g`LUnzm%Oq5SE#Ei(WaLr z+dYN%n+yB?s8;Vf!@WxRDi;o%d-A|OcvgyTsZnI+?m83~li}6_lq;#mFjptq+sPXz z_&`F%^2_~hzor1S7H6N^%r8tBu8S3m>E6$MVxOb2aS*}iJwd7}qCiv*5O96$=g^-kyjkMk2)KSgz}dQ9=%O|- zbK%tcSHViaW*yb}=HA^~9D_p%IamHguB^NMA=VQuF)s}X{d67~K3v~D>?i@_wcwCD3 z1Am1d(D>Bd_AzdorZb`TjUd-S*3VIDY|hB=8?qGDJWH(SY#f7i^%Tdhe`QKE&s}l& zmA|$d^t45dXfUq0*^G~5DFRhLHD}2QnsJeM`Eqw_boMtSf;TV>fbEh}?v7g^TBJJA zp9M%Q zO76vYsi)S>4?h+0ne>U)?q2z*n!mkcQaASFpz?IPLx`ugs7RgWP21&+j|we&ye(UB zYuy0`xFhas`}Q3E{b!fj{6-tSugH=TD2T{;&@eGVkUOK1e~73SESG&|%zkFwY4=fV zIhfC3dk;Hp7xyz0b;R7RM7mRJW8n)Fk_)%f+7xk*(haw6^C5ZFZkwjsSMk2Rwht@U z8rB57>`#E3Q$p;tyl0q|?$wp!L)?o}(B6l-Nnvt^1K7VeCSyK52u1~{(UI%NFKYJj z`MAiVb(&E4!F4?SLZ=?x8sm$7H%hG~n8s)@+9FW$Lq&_lzW1cpY5R;8yyP0Nf|)y? z5z>3pk1GcVTeY7Y`W;$=%}UtKduJ&~TUv_~Dy4pK()W$F#*NWqDw5s+zh&yDS8e8jQWRl=4;vYmnJWw_C$4uz*tW_4O zVj&QeIy@jNZ~g1h&rhw*KR9fUZKLe&(HI6CZ8EF%q#WbQodI8#kOrmZlZb_xg=pOm zo7E@s(ImU!@XCUhh)W(ZCzN>(M@IV1pf=R;ct*(h>a<5Q>+40o@`B;16L=B1#kfUb zkZ{PvxL`jk!|zvsDXI8clE{A4&LQkfROsmE_uQ%sxx)=YgL%KOUSF}Igno&DEnqcs zI3Pukl^$Mjb9&q=Hc?`j7t1OGnVErz-0Y0$M}9NXc`O}vKo;*gb>`^MrF{mKe)*%Z z)f~Uycf=Zo@q)b9R!6Cz_H3?zw&Kh?lT@-K!v)PK^*;U(dDep}!(S2S^ZjTThg+4x z`UQXUL@V(81{6Pa`z`1F=H`0IoI5|}nfL1lc5mlkp#oFrXGv3I{?B^eK3dQF_WuVx zFQKcIF<~{4+6{D-#><^chqw3sqn>B=f7kOMUExh9R z#jGl#v|P1x>TXp8pa-d~$~}4eO&8^M6G~rpe6dI*k%9=xq~l2^F8c{jHmATjrbe2$ z0aEQIS}Bb16(C3zc*Qh(AdTy?)20&@)p`UYE#*c*JN9AR_TiM96C4tPY(0_eoS-h1zp3*%@kNl@|Hmp6@8eq(6H zKWDd72o2{x`8t6Ut+0d~4`Z72hN{?o>JX2!vR*y70^qT`F1~$e{knnkEM}I6aGs=D zjQTCTM#aH`&PjFMur9OP^#t;Mm@-~3&GrjmOWT~k+QRH&vi)wU^Nl=Jpx7!Gg)*d) zHiQ6raTiVANhPti7L&V0)et<)=(Wr;w@tKRT?z$pus-E6C+g1gN!t^9*@a&sB^(WQ zPG*=Jt!=2AXwUlb^dL5q=6Ntxyk5DqJ_#~_;vMds5sBL?N1_(r*4`U?jcF$FxbN5@ zFPHgjTvHMAx;&(Cwfi-j|HsrD2Yj}%!FE*VC|auN7t~#^=n^Bk-y$0@aaoAE*^s)g znOiwBJ{3c#mjVl9)H^}TuQv(gyLc(Cp8?zJ`wB>!>~!VNQ=O;_QpK&$(AG`X=4$qx z{b)--)JN>?=A2E7A_U9`Q@ATGPD8pKjflegT`> zC=CC+7p*H+0asY79Vb={A@3CD`5-kq{#%lxxN}Ay2&}E;*>BDB7P;HlV(}?BuA2$v z&oxmG+2!`0t8jQ!_yV_1dvUwc9WIUe7pWzj5K;s-x9@WNQQ_jBt3t>DsTXtf6#k3U z)8Em}0}>pS2~U}=Z!|&ByE{5$eh+dxTe2>%{qto9@wfM4WG} z7gj}8u0pL7Q}yg1#RC%#~8 zegqe|`SG-NqmVF~wl5M+mrro~J>TNsx(ji4*C+|&XZISw-8P9K_z9w+$@YcStCaBi_}a^~TE>RIgu3G*BlaFTI>b93X&GJ}IcHu0%O=h6 zUM`!8w^lG$2kWYQM;~4eXpe5-tw6>2uJ`1h<6#yD3S0{rEpP&U$~BYUD4%dlX@`#~ z|A(Pzk&y=hdBYlXkP#MJN-_3dDBloV!Rtuk7b;QQbM>GETvADfdC)Y|i(Rl9@OCN` zzt4JjJ8sWbC`U9W0AqNl;7Kg;Bk`EK@>p#`Psy~i-%5f$T>pl%%BIK8RIJ&>QHGao zt*NZDDGSW{?~*2t@|AQM#pWm4&)$of^+g^E*K{i0p7w{f9{ z-XM0EXWOS;I>7SzX0Ht8d3u)W7JdQemdf4GJIEGn*;mO~A{cd>Mg3j9$4k&Os#LOU zj8^1t+>hn!i?3SQFH2sN_jtY;zt(&IQ{~A>R`cKkX*BYe;IXTJg%(r#)1+*|1Ly;{ zF221Ah|P@4^IoUjkw6UNmY0>WO7Ha}29v*WdEE8>5f4L`@@+QmF3%K>JHZ&w(4!b6^Bm?B~x(7J4&pAU?rJWiqS1 z0m+afI{C_%`h5ort(wvLh;6S`#Rd&71&=^1&(8KT*y0Jk9e0{WrY(57^OSFv|Huu+ zMG4P%6KTKIeZ2y!Q2R#0_Tp!JAQr6%9|h-2L-=+*Z0(2fKxS`mnM8B6w@aoL(R^Fd zS;n>Q>-1gt)Iu!iS_oB`>>tZHJWjLU z?iZd_X1_ee7McJ%#9k2WvhD!`v!~t=kJEb7(%y=Sf{`*?1NezA$q$=+i_vGK8R>K1 zpD}#j54zqggqlb(V@?@a&(#$a2LK`u7| z)#cdNs0B}LWiiShOA!2a z`lH7hhs-(5vef#KUiojR3@_4^7R(guw;7>Mu_o-mE2(Odc^kENHH_Ao=QFb>PVHrIYNO|3;D z9XDnsF-qWMPuJe;1)?QfN7nxc@h+F6#f#e)abHf?dzsnYW#3^)py;#Ra&NxAa2dx? zSD#LD$g*3wh%#-y$L3!w;mT2b7Mp^-=`%?3v@hsk8oOoh&9}SD>_Ne*b7})TH?(I* zGHjyV(VNHq$`JDXt!aqs$p&s$Ovf>pGotkKUmh_WP zzk#5vQ-9X%DCvvL*!MDzhcpK^P@G@?*lGvTo{<9w=IVJEgR%?`lJ#AS$CmPkq;M8C0t&iVtY+wGuLYkKqj12w}t=a^Ko@)){dTS)2`VW{HM@O|?I z$oeC9ch0e_!XDo?&Ioh3TscN++ApLh+4YU?OrYVka;#(c701}DSC|ZWbHXdKT!0r2 zGyR1Za+EWNF(TK7tu?wnlG@pvxU_sze=6#G8)I_FZ!qQCXDOy{j%HHbI;AP;CIYcss2ER5AD#p{Kr%-X-tYo4F&dn=s|!HtJq9cDWQ^ z+YrKl<%^AIZVt-CFg=V|rR)1yinSaa6db4Al(7sy8WGyi6np4r_@QrF@&2H`S?Ew1 z^ewfX_3TKwcd=p-5_72A)o_%sRDu5Yx}A8_%-RH95rRf{o}ega@>-t!TDQN8=Co6k z-K0nm&mT<|J5{(7Tg0h3$)*?DC)03Gs+!~GXaR-2#={3cu!04I7DE@|S5ubZ+=Lec zgNx{cT&w9gyu5J%XxC9vujFql-WYXRzcYD;%p$)rgM2TJw9R|pv6q@c#`AsPcb7fm zQWIm2APfd`KBkvZhfU9xl>JoSmK*}})wIJ4vdXkvy+xe;%a*=de*Ru~$&5oKb5!YU z98Vc%uc1!x!jK1((;HA{AEvGV_UfMpGW(%QDz4X8vBy-@%eG5F9K*7l5`ywWRZLUg zb^B+Qg}m98sS+eC$RNk$`R~(A+;xhc!{x#G1W-xc(Q)8v{w;7iuEI>x0kvK(U~}=} z<+$fq)|Srg8#~F|ly}Y2&XfCy4yrM|ZW7!wzA&2oz%!xK^#N!E=`t4U`4=cLxQfO) z>ZX0picW^@?))Y@@_9YUZb=v!ZQM#N;^lr_U%XUWqBRrQ?PWrihvQaW z){8u?UZWT?@&lp=6YU#??#|zJR{YZzh`b+X#K4D3&HXUqYWXO=zx(68hlWwQ-I9Nd zSd+^{8s~l7)n9nBucC7zh|cR{g{N0py3U<2U;nLjiz2pC#M1w^JEO(kPNq6?Ll*7w zk&T#wgoAJ5tSrtp)#C=A?~ofoeb8zzA44)W0f_3OpclLP9ACUYq;?&mo7k*B$5?Iv zVWTo>!NTNkDzbh-iTVL@rW!Uhggezls-Hgg@XzYIUXcB%7xhmz(IGRxBg`N;K|peW zR2nCK2iEo4EltPairE73Rh?nO%i-@?I$f?EgfYx_R%2cbG^Dp)CJ*u=$idvFaCJZn zkjMbB9>*hsyI)ah)w~%kABeXoBNuy)N0cJmw0);W%{B9?P_g4)xI?>1x=D6VC$FK_ zt5f@lq}v&>!{mDrYZCFiLR*Lv)1JcS^;kqa87Te9~@ zts{K~jsA%)j*ZKpuA*_zUZ&&je$Ud2L)qqaCOEX;*!Oq0itXGGZ=r|db5+0}!SpDe zPK3o%8*~60hw6(QQ%n4^N9PdN($Avvk8(6xuRj14z|J$Ghx+qW?q1jbyFFTGcouDs zeryu+@Al|7^1S`ywoG?(7Gmrb^4;I26SIh-1nXyalhhs~zN(+@8eYB>a|`*Awypq` z4EgpjF@`m;#%qDREZEt$h`b}7$7n|E<6Xb*FC7e!8t8FL(7lvag4a->6k94KYP9=S zB0gBT&aQ==WlMnYCnOiV-FGjrlKdm8EcluK%n03?N6Zk&u;^159Wlps#BW=U0{gNj zgyD&5s!yA0+3jfiHrhiyagVpxN^Xl1rYa?~SJOR62EzTa@E+5X)nI-Ro%c;s10J?uc@E{EM%;XEz(D;8o7YPi<>_2yTY zn1?Xc*yfkf))7I#jxgFGB)}d3V{OY&&iv0a0G39r3ES~$m~_{O-jsqA_P>}omu`JDc9Bf$+0LVchHQ*jX_4SLyKeONT==on;FuF91E z`DpYp(TSAp=z0>I>C)js8s`q?yMi&RpASkkgmBxurw?r3XD82NgOI*d5YmU3OV0FO z61o}W9PS;lcfX;r$+Kpv%SX(dmZakg;dXluu#S%kDGdH3A7z^;R=C$9HAuf1?;^!c3m&=;?0_v9=4tPv~C0GoFE#cnu z_S}n0kji&1nUWe=w`nX=6j#Xiw}U^2%ryzmn;5hEjIldrbMf?rqBNNMgN8)1^ z>Hk4brjoj?e>Z{q+*3~LjN_MvR34oy6pGtpf-YJiUtk~(e*KfiWxhGpuKQRMK4ItS zUoE_sx*5URpjPc}We@LdF0w$x1+C>(e07J5fjv^1`|b0;@o0(5atyxw(+kg^5Y&W8};nFkD!^a;l+AMMfKrdT*(pgc0Uo_=3UR#9^s3^g`KWX#~owvw-G=f zhApAX@NN$_q3s&4)D#Kda=UX2@T);?aIl)Ds@iFy+3`-J{hA&i zMO=1mdmC^fT;ZHLzRfs;x_^?|+C0O9OmC024kZ22F1wM;qk}2?mUm8mJg0`tuY?Df z{Foyrm0z=?R4pQv1O3>i{r>~eugxupx`EIp{aB?;9XlN%<%%zh9D|p#C0tvtucVs zvDxNnD-$)Bp=pu(aY1I5xx=x=O>KcWUG#i}5|@mlhS#2w-^#u_+WGEN0TI{5m?++B zaNy%$5Slq6N?;g*IZ?@`v0IDOhcP$>-KFBY=bB=VJWs9jl^`EG7zLoKu+w>hoM>z8 zbn5Zbdm*}suJT2DU9`bdz-(tKcTaSA3yh@Vbt)07<*a?aH|)pEl0IPKQO(cS*3o(# zh4t#n!p!f10x?H2_v6wnT`IKST%I<_nR=7x8|+Wq;78BG8@A!qh}EnvsUl15)^Z%;K# zwe}3#b;qr?5h07isza!GM>lZm#<35A_;p~C&Qx{ceoZwj9w7Y=?OZ-jzsvg1>31ug z+cUyHkmvNr9r3ksw8L4@*XFK4MmXlWiShcS1758x{jOZc<@kWb6s3KM9MJj!W4biz z+bIJg@Yt}d;?b7=jg2U}-WPg`v)l8}^Fh6A-B>aEA(yJ4F`Y@^NcDRq749#sM0r{M z7K&E(cc1D8rOT35AeVb9epGRq_1&-v*_-m5L=(d=n%`q)5)0o3(X=eJbv4&qEu?hr zi0`Y-RIFs7*~3nzGxT)qB+AocY=ilR<}{bgrH_&8_tsUs7D(0+wsUxPC#n}2FCm2z z^?9*M2-<3c^c{$8l<{n}wu`4n1;SGHAbO-tuPmvz`mUXkjT9Dnmb zn!$}8?OzsSd7It(Pa#yxAOh&+PQoP(Z1hU-EBS^;6ZO3?zhai}2R^sq#U%^g$0juD zAMVS4B!>-h#BqK0^rlvDhUMwU!QSgr@X3Z*-~N1~RLwuyfqL#}WeL!Q?mSY~{SG8K zJz`H#l1e<{D2Y?0Ao{FovSm5dGo4>SNQn+ZH%k>L((k4`C2GzJl8(b=`0&r=_A??Ni7$`g-9}^reC@?fD#TdT+njxgpN73FRK;DxOqjW9Ng<3%Y z=7F35#_T0+Bd=Ty$wtHvj^wioATNrCGzIbZV-N!D%9d^=N8VS~w)N*09lDHb*YDA4 zm8Z~n!$Z^~NZkl4AXc7zXPK85e5l(T%rMSu-JL;V;^J+-Uh%Xfu{-s_8@87?FQJe*@iag5jTJIDXd}r!BE$HG2Oq#-QB^-7y@y3 z@jshVeu0Cix7Q3b1)A;D}5L01xty*8m(CW9xJJ9qYKhthe@QZ#3OZQ7=} zKwZKZ}gzaKn+Eu09|*q{pcBAd1R55hHCir z?aJMcQK@^Bu^yBczZDsM&194pnb@%1&8S6KEmIKRFuN&UgonOn4Y@j| z6iFAoNbipM8?3oJoR?EJbtj*=!;faK;T3juqJ7yX?08^Q)<4_*E-3Z$!|Kja;g=1M zOBKAn!awRzMXDN$Eb|a(5>d4Y;?B}fmprhen4n$a6gLZgF`F?HpvK~oWUX{FA<;M> zi32S|$uDyfgA%4+0e1K9K3XFL?-<>fRCJIc`0qz{hVG&BYjX{F(Sng#xMxTh|~CnU7;wvO}CdaLGVOMh)fXpJDGymmqHJZNhEt$%u0@O z=AM~l@vJ_IH}OOTY#wz9TW1|<&Y%&#ctneYW;!U}l1DG>%*yu8bYuRh^S~cVaIDw7 zz2K7XfcaMJs^Re)4VuTzQEI3ThwbH_eRhX7+ljv3?4_#01KnkQMKL)3r%@w$BOQ#K zA*_6liC_NIN{Xv8c(!h97R|4#q0RxE!TZo}a(*{9K>6Wcp?|6KFcMFdDiHanc&5Wx z;smhzXz}{TZ$FzgoU27MR2HP_URReW6Ww=x9yY65`*L1t6SZl2$s|7EC--uuZn_-l zjT12;c8$kTL~9dt%5DTKnfITOPx>j_yK0Jh)VQ=Wzi%N7dJjpfAE|UH9N$AE3GQ2l z*4!@)isLH>u?9cRSM~EGUg*6u_UfZ|<0sU&-6A%M6x_cpMZMy4WA3~wHE^k99G@Lk zZFiIN;yd!%4*1;ENY73ynPfe3G@p8fAr#L760c@&5s_^DkgQK@C5Hu|TY0Nk_C@Hb zL3RqzSUb(+slwe0mZ9GcRl52i?>eupH8~kAl4b*nMI3(pEpzARR|#%;R$Yt3Rb)p8 z+`TBV_$n+7Sid#_!1|ddRUJCyg&O*-S$NlG3@ynvMn!*i&|0Ijj%v$aJ|)Rv$E1}= z792`A@8i;EL%)rl2Fz~Az@Rp;Gh znQ264-0}U#jJve|lyO%VV9CPDj@c2pQKUxvO25`?Z;~c0E0Z0*RC|+%;M1$MuAxis z+E`R5Qh|-(UXt9>S7L?od_KxrUyU4@Yg!Rl+!oVQ`L!E#TYJ1|u_0{pUvJrnh0_>z zigjTYx5RbM?+-r>PzLX!A<{&Kyqnv^l2Y@TBmIAzsHC*eA9{xP$ltea2owEY!mXGa?cCz$?}gTcp{N)u{qQ6|flxL{$q&T6r5 zTvIwT7izVxux+_^n+6KMQMz>eY!Q=Ibn*CQ5@V-8lm6y-sYpeAlY)J-$F$7`i|>=bA4$eWD?aW?>NRDUm!1viSM|ufi|HA$?J53g1`4S(I(U} zIxD^Z#f0k7h&G|#m<#%MCFcSII_T~+e2DFT2Hnv#XX1QGZ`{40a#sN9E}oe8&?Ce1 zB$Xzm)I2l|cuc=CimE17S88b3Qkyq5P=~toVW_I=xtOT<6zd}wu6*cVpO^C_ITdMg z82L$lVzjF3HE~?N*&a-gs-77Km3V{j7iwH(e&7U6V^{Gcu0GGaosaT7D=)IKuQq;q zCLaQQa;nGoGQ29*doo}RS|OwW4L~+gT78uMIZgz$8|}tXQ4Q=3n7T8hs#>($#n|{* z-SfWr=rI(tZvh0rSF|fYjQo)@nIU)ly{zCSW4KrWp;!Wb_ z;d162NsN1B-i{xySZM~45I>WbeMohe_ceR}57eG(_U+5GY@!|d^^P_x&WDp{q`;&| zIQ&5UMdTonf*1`nUl+FQJ*QxQZfZT-04-MZ&`^7YTb9_w!<)M^+NsCsOBYBIuSA?3 zWh`t`t^Zik>1_$CC^u-Qw17CDn1V2M{}K>)r_=4v<(_X3`(al>-7QAfJ$wtv4w7GH zPR)VCuWC6j-A(jl{XXd?nx@;UuH1R5CQ?j~0Mp2R?sp3jjG_;Yll>%o@$4vv3A)i_ z9Xa>!@BAsvt=#&Oow0Z9%#I??+j<$07tPW_RJrzxu$U0UcYnSi8xC zz9(dls2xXYtE`UE0UyJt-PPr{Sc`YQKyJ3Ne?EI{dT$+sTuc~96ofghyYw9ZLU4j! z8+ch@licNNu&w2&Jf8eo->CHke2;A}HYmwiXX(WJ?#5h3l31I^3H8rJa_T+w@$!5c zeCFSk(sIxXj}?$ZjUFW|q7ODw&pw~}9;M9|$d?x!N&E|VH+2R0X#aqBG}{#Hx?5i) zD3WHh@K4EQBpZNM{ut%6Of~j!dadNIAUeMxeYBCb@c5UJwpZ}a&n*1;U4D4pYUVNb zKBsFxVx<2ajraepkG6C4Klx~H(?M?l6E87ziwSEpOxlA*=rBG{vRm{pdil4<)qSCT zNebNq(f$QynhV?fvfFzSFS-!88}>_DOK2}L>reB-7rL$a8<30azDgG!TJ7h^IN;gW zh587Ts#{pOf&_Cv6<-w0-Mr`w zg#{qHtC>kObLr7Kf#pN?l4vn~_xZI3>k;UOOhv`@4NSa1)of>abfjII$qD9vlZ^hP z)`4igS3EAe-+S3A0&QS8o?BH;(r0@kNfQ8BvLj60lEG9ZEV?7(zsblhw@kelYVvK5{lkS4rYHi*owJ7A6S58!g*EtN0kIU{GGzSMbj$0ls zqoe(RdGJp3_rs}x_@DYeYucg!`p(VuYGB!PB4tjyoRsZ_qS&|)+NOMV-nn2<+IzfN zv2~thB#b&;f)Q92cJggHgL7UQ1ZDO^n2ka9RTKI8GhcZyx8~OUHsz@xF?T*i+NhE|o-ZyaJD} zaxcgaji)o10ohG0U}2grj)W1U3W)Ddu0Ei`%d19w%d)ndD@R8romu@zFJ&OYSga#I zBTR5zHOsa7(&Z>0V3H(bF)dN&iOL2s_DQH8rsMcfCe6wteJ8dYZH6f{3|PP_w%Ydu zT5LNfWnxW0lh!-SksTz{wpae_m_@6kh>A=1*c&{xj1tiOMs{~Wbi|n`B0vWhm}ui3 z)La+5fx$s)Q_OL|u#_L$nxPN8ACV+8D>gWEu@Q<;{>|#8+(g7siCi4tN0k4>Qvq5# zO&j(xzj0YiatAmF(<2Nj?AaEu{)vv&t|rWge;vDKF~f34zE7?a;GlI#1+Au!kDev6 z!`vNLl2~!>(K4WKR^oLb`xbaK;zP{wc5eaE9d-biF0Ep%Qo}rIN-nMfW&&J=ujwc= z;|`ZWyadbMa-MIHXQ0Lb+@#4$yXi{s2vsXvl0)`vEYP@U)NbzVqI zEi~3%l}dWd@RxFR7MO07;U%~c^b6MO-PWaz6+Zm73>-?fxKEfJAA2uf7T*`eg;ORm$&79dni$V&btyZ_=PBopFQ010A0S+wE4UfZkERd&%a)v2B5hH~EjD#KDLs z3k=>Zm<|^co?-I2BY7tQ*f)l`=8H?cc+j1Vu**C8ZfWuE-3q7o5F_;Y*-aeziwLuk zHv^;MaAN2nEeONA+giQTY=vt)uUxlvU{9flVPeFsV?TwEd7ECv7?Go3NxM)wh zXN?j)LO{WxL8QC8ySrhCVHnOmqwc-m{qFZ$-*?tIXC43EYw2blp68zH zxvt-@0x5r;U-W~dH>|FpwwK5zzkQn7wSR0!U=*7xNoWA{$ou40FXE3|CXW@ksB?XI z+V*h_GMr#nn;8?n8ruzL0{eLUDYr)2{f(tUB!MGi`IJL$knKROrf+s^qRhB1v+nwd z5UlV_da38~De+1Gn!V>Io}u!0_TGsGIo778iGqzYRn!3kDkV$KCm=}>8f>RGkefD~ zch@yw5~b+_b{l5O+vx4>3-tEZWIy5GBC;5hJh$KD+e0l<$NbL38dN$axfEQ^ghOb) zNKC*+()&PIS$DVk&SuP|HK}~d2UqN5VpZ;zzCn3ufjPq-w2%+km4pw6O7SC`qyMRH^A)=y?$n?f8_wBrp5W*_EH;S(}vIyAIj2`eF(c==L3hmM6b! z$q?q;Mt;TheLIU&!8qdTK!HGczK^`3;dsH_+s4*C#YQ#gf^a&p`=*q3^q6 z#ZiJfRnvwNoFpn4*+8%WXnfVB6%RBvy1H#n=gV+dc*2;HYb$b!mS{*H@{+Gia5 zcqT~^D8i7L$*pw&m?ZMj?1@|@`m7j*ql!66x9Z>f{tyd};@6nMpZN5gAxOe+kSU;& zYFYT@<@y+`={eK4pX#0FMK%fx%(t++?1f|yaCZK3uAS`%jf8yVMKfF_OSlzoqJ=jG zq64axpXVs7zFgHB&Ez!CR%fS6D&N8FF-xYhtEZU$gdyb%>!mwQ{(`}bJN$Kci?iu& zlYfw~-_e};u=gNqQNK8YGDH(DV#k}8m1U(7F;r4A!WQrV70N-QFWS>lX^49{4}bhL zIOP9`@I=o}K>9#7AI>ogK8RE{6urpS|GJvq{nUiES(FLjW(>wqyuSs7qEI3HaEmVJ zTAy>-;dukd>;W!0mo*J7MqN-ROXBj;?P|}Rp^G>FXp#lp9{m1&zSmue|H}I*!Xz?x zGK;Is_`5GVCsA-^S4tsGt_mUkzs_?P3v=e@6~K=9{VxQaQ2JiDx?6s)#SY15FtWXh zQ<3&AlfO=y@1?h?YyRpF8>t(jOk9M#rqlE#OA0}2?l5^1HhsI{w>CDqgx_e9hx1tjhUXhc2LJegEwooFR#LKk`kHNqX_#ctB4XB z@1-je3a}R#zx7BwiZgfAk7nny`7lxY_HqIboCyGUd&m+}!A(c$G{QIglm;E-QF7)Z zwZ@+u=D}RDP7sg_t~Xje_PZzRZ?q!G6C}eD<-Z2s2jz(h_pfbLSo!b7ijyY43?sT*q27*XFWVKH#M5J* zvN?cj;d+dm0pOR{jIx1v>5tz@_$@L^P2r#LDy1)+w^lrQNdT+MH5Rv%xv-I+m}caNM9UQIX59u)Z~S#t3nk+Q z-oC3Q9DGK7(VT6U+nA>xrn^0x_B&6y&N!)C*VweVE28!ZCYK0jCDc4&?9b~LA3kaC zzm;*T;A4bvFl3O&8C?r|r!K}|_O@eEcq}j8Dk){%z30x=5xN!>qOQ^pg{T{v4f!JY z+g*`|-u6=54&@K}aF!(%As~}9b_q{4PzHc(a4|x2CJ78KMmqE6`|0ECC>qgHMj@Fj zgvC=yZTzE?o`ld@FK%Dv$-l=q-L=dsU^TgZP>z&cXlf3-bDHyNR0D;i`xwUwr}Z^A z@r@-%Dh+NQu(W^*X(S&zXmpvpeAeq*wudf^l~cGFHgfQp_yrX6 zKuTkM(lf$qB8yzYfrN=D0Z#x676~J@u6%C3*kC~x*YW%agB?AAr2;>miq#~i8dNBl z*CB@mBkN=n{vrp8@eCD3-$Xc3Yy%{=@KXRqcO?!=Ha*^wcURN{p`gLfP>|+9-C!sP z1()CS{$>1o13msVemIER+AeeT$|@FpJD_fpfrZ}eZt=`q zxk8K4Qk_|An%@!sdER#_DjCvr9&hmAT6SIw9!4vxqAGk&jU!2Gj$Fd-kkleMu`HP< zOD&0sn6eVv`mVmn^SC~&+}pNU2B%Jgx#}v%M7F9G#>2k0;gD|QgPE^5Fl{k#Avo?E zxihus>4Uo$Bbyd-Z6@S0?8f8EpnBm59wq&d!441e1j_Q^#@^lM)elD$ogaT9BNG*x z+F03Vw*LaZ{OIA`XBIvx#PpdIb^KC~G7=v_w5dL=WMFLm*$Ml`r2HnHSjTg{JWCHU3#lj;Ff2B(642O!MA zr{7VzE{->(%31@aL5l}A`TeYrPcu|4V7?p~QtV}?t$9>ze+A9lGoVxT!R*34AvzH? zYqa4ys9M&6=ZlBWL(i=Qm|hJEch~zI+Q*5^W6XDfJItag;h%Z(W zR-M(4!PeT4fFbek8R?#)&(~F0ye_qFj+(pA1aEwLh5zj8tqK|}{a&pMxxm%?oZM%Q-f2nx0RAjPABxj!bZ>;Rjg@{9yPxSnRz|)y?vouHT=kGUKda!hKwDM(M{HN!j zd2VVg?EuVqbuI=<4L4d{_Qk80O}9~I@GFnT{!bMztiM;hJiO2qui>?)0P*WieKl%Z z$2Wyo>7zA#w~nutz7i1Zh9w*spomc8S!S*$-`JGT&R0|&d|-8J9feq)e~sTNYW-u< z=ushp$|j-kCD_|85KSm^FK4Y_4uuKyvMuEh<=lJXD)@zq@L8?^HH@XvyFu=0&9qjy z2MHx4vc?nhhf|brOfj}Bmi-G=S|M2{Y;q;SCH8by`Qv`n9kOu^TCuo4xXvTM>&)0P z$p;X18$Ool9lgw!>oOJ!YZS+D(={EqS3fHeW##>&yO&|XdWqE9qv5+EC_vQYB<5F4 zdkPyBA2-B6qPpKHk5`W$^8WafS;0ej(5C@+51=S9-&rDJ2{@~7rUbl8p(gi89P6N$ zWWGJ`Hw?P*bQoL^#6CxO7k)Ogqzq+Zv{KOu7|TNHpq zvL=c&MxHM4N%--n@c>!Fzf`xVs?BrS5k0*c5^CU$h}2Ry0i65q3_7j97qR{f{!srC zKNe|%KR|guyIu3Y(>(MP75oQ()XAg*@|tL!W%NGWx;a(UzGxR7$*RB%E^)`e}LDriBf1mi~9!&s4AJ9$pJ84D8>-ApN%yex8|;| z>7;8FcaoW+aEHg5IP{MCQ)0Bu;iik#BH=ijBmxo2Aequ9e)4^}8iUZ^hk$0avtqwD zpy$iuE~%0UH{1P2Dyvf4qPNd21g)PHK5rl)oh#snheiW3K~K5kVd<;POS6LO5NWl$ zntN0aRFA9IpjEVDKvrq*tP4xlCD3WzEu9mm-6%M$M5!j$I>k=+AN6dxRprJ|pTxWL zX7$XsG|Bu}zg2t6f&g!TX->Ng++S6Bo04WG0o?@mMK>67{SCDknhWo5X4=rP%d-Z;4p9dRQCz*<;l7U zvM1pOYNA`22q3d;atn3FU2DmzSg0LP>!*`wr^qdn2R1H_t9N=jMcjp)fZ;UtcKU7_ z@*0TX`qt19-0}1Jgx8}PDIOSDcN~kied*i`_lJ77wB}{~WZu=yOjWwupkh}cM}b-U zQl(4;$G`CZb{mzj@I?;$A1T=uGYLe-rERbCDNMM_&Fz`EGK~JMyS13nd{C&1!lbbI z8|Sl1o-+LQm(txdcumK5cZBY<{1+axc8i$^8gzA<(_Q3NWhhW^DDR$~dvwd&w4Q*24 z3x) z$(J}or@$<;irS+7kFqTCwV_*M^yWHaR^m*i#^(RRiqq7`XMFa>IX-(gIwoaLJ7nK# zvan?XjNc;1s2Fx*!Rv+7XLF^A1!){PFHOv6DN|+bMeNia#I_DFX#_BD08ABuoioG7 z1Z7!C)U_!HLy1d0;(dw0Gp+k5NAls)QT~W{mNR^JSbkW>>+s}4vCTJ1fq+n}bD+G% z3d&pLzsp`=>eSA=rYKy7saO;TU}s(tRm9Y7zLhz!>wI z{DlmXGpo_U9`B}`b+VVk1L-$|3+R4ug_S668@&qB%ESPru?x65S<}=sC_& zhoAhWzg3h;&I$m;5^+|K0+TJ2D z#(`jyQ4RSMjnv`U@ursS^PWY5gz%H$r^|L?*eg}J@fZiRuQkRYY3|B6!hXZ=bz%f^ zX-Zge+A4rcXIiY}&3PjrOQA3|+QWuJD;MLCfT^h`PeoCY*>-D!3 z3arh?XrOv$J|f0XIPgHMKSl)>yoLM2k^&3-oY@|!AM$6Yp$_NY)fPqZqP&}w>5hAw zHYcTZcRGuPkSR^?15ymewLHlI10|gMWJ)Fm6}#&WY8Hl3IcfSQ`Rxgc{Kof_{KkpjEA#Z8^n+`-J#t>HRlmq@Rx@)M zcV$C8j4@;Kmh$X-^jWz2pVLulZZHc6;&mE~jR==}m2|+V&9?P*lDDERI_8(Pz)8pJ z2G6A^=r zOD0MP%ITUT^LHNv&QelsW25B(p`cZU1O zFqY7hMB{!*HNSB|{Ek49gomi#c_WEBpy7?ahk^B7jBdXIZ7aPe{8->_aE`oe*^~TH zc?ggt(9Vk%qxo*Gw=Ku@ExXMHOE&BM0tWfW$BJA43{7)65E0$#}u@%i6nF9FZ@vGF^x_BJNTgpBi= zxg$`tp~xoO*i2&ZXzwo4Ci&RWXwi`D!-Fl)jKo{PA~PT4s{gs~g{LD!z+mxMLM#dv^xo@h3To%G2S0ZOnULxhL082J@nD6zmzTewR=@xe`WTq3z z7oJbZ3PlU0wR}u&Zy!PG@Xy41;!&o(KDN0}p9OKmTM6|5vKt2=y9E*}Z+grTplEI_ z|44JId{ZfKn$!~{B%P5lGP_iMjg8v#j;AXnb5hW`B`)Z_6kL8MWFYyU__iwo&H7P0 zjS5r~|8kRRGGIPo|F!;m{V0t0BnJNnzINdIE5iapG0SgQJWgdOEOsAQ(ctv7?>}~a zaQ5XVOB>bfQanA){%Hc@rhogaV0-$fdte_7QzJ_MVlTanwwJyEsO9lvr+cxnb)Cip z-9(S$Zgujd?97th(q(A5JT!vssg%(6=P!LTh) z3AEVo5%IGKgE9R8{l2k}-|g5(W`}>n+J=3tXQx)qeTC{OH1j}Xn{JK`#1lyLKhP`A z0J}3ufDQ-$yLur=x8;x9Q7HF`E~xDlW!T$JkCN}&&;ou&zHjCb}vi27WTEibjKagyK_v7QVyAVCT@Z(I$ z#LE|!XjbkGuFqL02b7OIoP1!OOqwv|w2Vs{dIzR-QlBvnQB>J&8Rh+rXj_4pEkt2g zUTE>Vj{oT69vK;r+wjKm^K_n}z=tUqqPFbL45MMn$LdFxtE9TvVT7Y_aAa8d}l(Yrn_GdDJD!-m^SSh*300(s9K^sBqM9kbnpksjE(I0{TFh)fyR z4MHpsQV#25!6>T$`bYG~G;eBYGSpt-=+7ud=`T@?-=5dcC?;0w!as7_N(~$7|A(Bm zVAa2K+Ef9jZ6>Dh;2$_`LNW@xTwKvu$+v3E7D;wp@OMQ{$H-yW6;C~>Ctj^7h^^%9 z?k{w-`mbs5v20eiMbPHvUuY9aWzWu8txD80bYoz0<48K%OIIyJDf8TrcmqVo^P0Y^ zxcLUq8^dDFa~#lY`zYFanBc{;YYl7kC@9+u8p_rhC#?KW(EoHBr7VNbG>v%yHgnfG$G;F7sLyzw&pV0Mp+F7 zHVJ=bGQ6%Ar|2%Ar+5D@mwJ01BZWcI=fDE-+1ico%wxHc3d-ZV=`-^7Kk?acYyUTz zUjJY5*%oSP_>P4fCc(GK75|JUQdJ13xsyz;%WfJL8{Ji#xrj|>8Gv>m-(e2Vege)KV{!P=~n&7Il)tfP_+Z!Da#5&eM^x( z&vx;4gqsC)e{8qa{&tzRU#$c+`*{mut_EG_t-e0vTy(8O)X8Y+p+nH$u8_v5Gvpx{ zpEU_PUx=#_HiS6NHcir~=5G~qji?Vhd)0h)IU*#Kwq3NVdJ#*$>Ph6h(ygko&Q}mM zd|%|?00eeqr?aaZCC!H@qpAARIBd#+DO#J_VqQNT0qS3Lb}I!(R+S5%Q5CW%NqbZY ztR7VYYxN7>Lv=Wi{{g^ONx0HF`|Ha3X*H$%bG;{JFnwFQ@|%M1O-Nk{?Gc}kzn`9; zu?(CU9VY3P{2?rm=np|#O{afaO#$Z(o%y`(cKBoYmx41hpl-ZtnnlL28uD+71$3>- z^#8Hebm6B&0XRpCmcK6{uedraN>8wA`$1if$CsB=L(E3@$va>}6KW8rB=81J1#$&e z->S8M7OnOO{#S97xS5H&{C|$4PJpt(ni0o(>hw@XaNIgU1PS&+w@2O2Fve{dFZC;h z?DWd>$bivv3hI=8{N-29#Kv~;i>*eC+7>Pp6h){(w&80~S(M$<4lovmU~WaqJXqXD zj{iI+{BJbFMx(&}Bhv7!)O6NMPHb0v=?jOdz4tbFc|n4*A)p1T!NLxJ+EJW&7=f41 zWa^y#P4R01eNMvVo~drQN1@9i-&v`&TMXw@>Ioab%_<>W;4^Ob=mBpD_Q&-w(k0Ze zCPY&V9}$AWS>F#P?OSSek~l%)O0EOz%Dzuu?QlAXf~kXo0psN`@09gpr(+bz{{F{w zajI2uv&gD+)FN?73xnMEN)$a+lV~|#m+06v)s#Ee#9ox_s;s=(KWTFH;1O5T5@P)9 zesXEA z{dUh1vF#=*QOMYQ2o8_eT#M5Ljn^Mvkn|GvT+5W~CXc7mk#~L9$#jq6D^L-4A@}j;h|EkB?vDa5+9+ytMQqjHTBOC?Bj7JQbUG z=!!K9xPvAgmuS>mOl}Knou?{FMG763XK_ROSp{~F@={qqt>z7tN)^!MlweOO8Zk;y z8=pQRq~Getp>T=HnAJ5AO zwO_kOdF_;_;**4XIilPL)q&bL*Of3-m4oDsj!ux;iJgsLp_w@-e?D7<%ezIeJ>%BsEjtJeVOPMD!x6Xv${_7jYXd}~~CB#<@{eX05c!@!KW^BjTr zhS=+~tU5i=CLkc76&>E-3M9Ht6K#+;B7u?^^nEYXWOv-Z>6J2Pb!mCNZ!1MHM<5w( zH9c?vJ#N4VlsFw(OdZ&-07(89yb3M{M(U-v4~DtXI)e*Psa#JQubysm|FRF;ZhF-M zosa8`iSt?BP}-bCyvZ8^Nf&egK)EP$o^{CsPXv0Qi1Blwh<{9f`WnCL4qe7iw8_hy ztTfGgDEWaMMULnFjQ6*{G;3TD$~sCK62MWC4Js-|=Ua?H_LAs)i|)%7+})B zd`V^!Nt6)SLGfHhJV9wqt>3${J`LPy8AuVwK4J>mwSB6*B%A)v~#JfpN;>t{);1aRjGA6+Pr{!EWKp=t_ zs|oqmI-EC`0;Hs3l>DaF{ARN=J)p^Jd!YodfMwgxj!f+)>}{ViP$3*@aahYPRDmXt z15}htr?mRcHA2W63;yTz&C4^s?nAa6zYe!NID5(^EX`5kXG-MA0o58?H*hTM0bJmP z+6$Ks2cYpw!I}YU;@l^Bxb9P~RjFRh0WfcMs3k$LR>T$1)|gS+M|WGgkiOs4Ec@ws0dOo-6?%&ZUzO z^CmhpLQ7xTO04hF+4uMK=sIuEh@mB_GiDpvL<#Lp;%?#QheOY!P)ukqC_tV|jeqKYoSwTMka?)_u2D%T6NL-vZ==1>*sn*7zL-sqeTmNAhP2o- zpS?$qqOPo>`fdE+&3Sp(Rc@-ahc^wb8gL^YBQY9X>Nm)_wWje{Ji~Zoc3R%_#vpcH zoczij1x})lX5ZBb3kr3F%Z&K_rQB8l8uyzNzE7DyTr*!u-!uI?C{48m#Gu)5BlCy1A{vrDML&_V-Fl%Nt-`w+^@7iozwe3PD(_lA z*b5o=<5EJtS7rsrPR^r#d0oWJu3m);B$>Dti<<*O?KVCgK$ZGkzyp4<>A@98n4tWr zwQ@^$ibB0Ue)(-8_eYo(L@!ViRS;ZsCVO~}CklT5b~eB>fu(-*=9+K_q?hM@?_oCl zLrmz=-k>^zVG-1YMNz1{zo!lPARSgUTU-+2y7jJXtmJrwYNz}@A*DEs(6_1bzv27g@5pYByn+3K&Z_k^?Ra2#ca z3qW{TdhA#f3mte?*nq_t0m93TNw}H=uR|DSNFWDyKp);C)t0#UtSK=m#~xaejJzYX2TlB{-AN=sIZ>R?y}V& z+~aj7uY46$bj$Rj@l7z*AabmE50FrMc=WH126_95>xweEw#xp!ORW zCF795SWSc)30 z93Q6Au9z4G`+GlNf%x}>Q|=^WXR4_7;XQVB+fEHezeoNcfFr7Q4Iy zn&1_KK39cBSF#@4~Y9RjvmwpC6;_7a8c#$8PKaHbV! zN;$ZOQtvEb4wUi|0kg$D3qcDw=s(PKK9W6#Me3u$XK79&xr8&r4_WBGT4^Q;DvE*M ztuH+>2jwe4TTou`jf?my*BNY^&~7fNf3)wffdjlF7n(*q_FZ;Y8i z+52nXVJ-a-OUPzQ&4%)Vt!=m@0r3^w&7hdOE$wt?>C1-IB>2e zcHSAH7Xj<0N5~9;i`G5LoJQVaf(mfix$ zGb~*PL$6Su&*8R>kg|F$2LS^r3NtCBYArbw0gaqLc#c zt53F+r;dUZXEQ9lmXN#IW0ILjpFzU;n^}-W`QpXMr+F!3^otMyY|5$i94z!@bQVo+ zk5y)N1mEoH#P4Yms=u?eWSf9wZ8-mF$9GWOwc%Ig4WTu$G1e+43SVZlRB~Mt=V|qY zlR1l2icK#e%^c(+^U+i114 zJ-zqr=;e@>=8?@#8S`PGU8t<_Ipu%tyLHPMIf)R|rWHv;+UPXChsz8q?(0=`kcgWt zGT!}M_!{5I8fD60Uqk0=!cxq(pkX+EinwN4Bnsu+Rbn=R()^LIQuNPGZzqNEkU-ML zVsOqVcV~vg}nh9<8f$gj_YY=mJmY|1^csf2H z6B0Eoml-t>X&4z_mHbd2B86)C``H-ZC}P8e3iCsSFRb3nhSr(DKdiOiGjv+`T8tkl z3VRH)*eH<2S_x1y4Rj4owS0WCYQ1I=&Ml67bL@qZ>^=xPC~u%Cp+Pv;pJ@HUZYhHY zdJ?yJQs_u2y0s;xM<3!2jR5#fKI=b-XVdCFZ#_}OGnap^!);8tSCipiG%A{?_OL9l zqm0C<+L&Y4yw^f}<$hdxtas>s(>)cOE_*i0oiv;butH<340HqBvs~|83Eg9cj(T~m zY#o(kB!-jw#!V$eBn(guECS4x7d^&c+;L9L;zp(g)~s}{;G*X0;=rv}7;WK6xDGTU z`HFa5If+NNW~}Ob2snI~eacn3K3Lk)7|9Epo2`49zD5Xmc2JW(smePp3!YSkrZgD~ z0ft#WNil)Wm4RrbbDbnuHu{0}b4s`Tc2}*U;WMxyU0cV4HVjT=+JQ877|lM-5B6_c zc$H1C3Nly2V%%aXn~aWLd{mP2n8{_^%MOrZK8U6dbQzzGj6EHoSE@IHTVfITgMCgKRUE|Ep}Xa5nha Z`3H*v4;%LAQqO@ua?*-Y-z1*B`(GxFmjeI* literal 0 HcmV?d00001 diff --git a/.res/bench-100.png b/.res/bench-100.png new file mode 100755 index 0000000000000000000000000000000000000000..edd4e6fc3b5dea8a14436d98c4f12c9190dd9053 GIT binary patch literal 90659 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

2xBX8MucWOp}_|kqVM+YSv&=9Doc6Ve4>() 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 1e88be7..78031a8 100644 --- a/README.md +++ b/README.md @@ -1 +1,103 @@ -# nlookup \ No newline at end of file +# NSet + +NSet is a super fast and memory efficient set implementation built for unsigned integers up to and including uint32. + +By 'set' we mean something like a hash map, but instead of key/value pairs there are only keys. +You can do the normal operations of add, check if item exists, and delete, but you can also do things like union sets and +get intersections. + +**Contents**: + +- [NSet](#nset) + - [When to use NSet](#when-to-use-nset) + - [Usage](#usage) + - [Benchmarks](#benchmarks) + +## When to use NSet + +Maybe you want a set implementation? Then this is one, but there are other reasons. + +If you are using your hash maps/arrays like sets or do a lot of checks to see if items exists in your hash maps then NSet might make sense. +In such cases NSet makes sense because it is both faster and more memory efficient. You can see more about this in the Benchmarks section. + +Here are some examples where you might want to consider NSet: + +``` go +//You might be using maps mostly for checking if things exist: + +//This map is being used like a set. Some people might also do: make(map[uint32]bool, 0) +mapOfIds := make(map[uint32]struct{}, 0) + +//Fill map here... + +someId := 54312 +if _, ok:= mapOfIds[someId]; ok { + //Do something +} else { + //Something else +} +``` + +```go +//You might be searching arrays a lot +func ExistsInArray(myArray []int, item int) bool { + + for i := 0; i < len(myArray); i++ { + if myArray[i] == item { + return true + } + } + + return false +} +``` + +## Usage + +To install run `go get github.com/bloeys/nset` + +Then usage is very simple: +```go + +mySet := nset.NewNSet[uint32]() + +mySet.Add(0) +mySet.Add(300) +mySet.Add(256) +mySet.Add(4) + +if mySet.Contains(5) { + panic("Oops I don't want 5!") +} + +mySet.Remove(4) + +``` + +## Benchmarks + +NSet is faster than the built-in Go hash map in all operations (add, check, delete) by `1.6x to 64x` depending on the operation and data size. + +Benchmark with 100 elements: + +![Benchmark of 100 elements](./.res/bench-100.png) + +Benchmark with 10,000,000 elements: + +![Benchmark of 10,000,000 elements](./.res/bench-10-million.png) + +As can be seen from the benchmarks, NSet has almost no change in its performance even with 10 million elements, while the +hash map slows down a lot as the size grows. NSet practically doesn't allocate at all. But it should be noted that +allocation can happen when adding a number bigger than all previously entered numbers. + +Benchmarks that have 'Rand' in them mean that access patterns are randomized which can cause cache invalidation. +To make sure the test is fair the seed is the same for both Go Map and NSet. Here both suffer slowdowns but NSet remains faster. + +Benchmarks that have `Presized` in them means that the data structure was fully allocated before usage, like: + +```go +//This map already has space for ~100 elements and so doesn't need to resize, which is costly +myMap := make(map[uint16], 100) +``` + +Map benefits from sizing while NSet isn't affected, but in both cases NSet remains faster. diff --git a/go.mod b/go.mod index 4f7f683..a6d77cd 100755 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ -module github.com/bloeys/nlookup +module github.com/bloeys/nset go 1.18 diff --git a/nlookup.go b/nlookup.go index 1aac14b..2182072 100644 --- a/nlookup.go +++ b/nlookup.go @@ -1,36 +1,41 @@ -package nlookup +package nset import ( "fmt" "strings" ) -var _ fmt.Stringer = &NLookup[uint]{} +var _ fmt.Stringer = &NSet[uint8]{} type StorageType uint64 const StorageTypeBits = 64 +//IntsIf is limited to uint32 because we can store ALL 4 Billion uint32 numbers +//in 256MB with NSet (instead of the normal 16GB for an array of all uint32s). +//But if we allow uint64 (or int, since int can be 64-bit) users can easily put a big 64-bit number and use more RAM than maybe Google and crash. type IntsIf interface { - uint | uint8 | uint16 | uint32 | uint64 + uint8 | uint16 | uint32 } -type NLookup[T IntsIf] struct { - Data []StorageType +type NSet[T IntsIf] struct { + Data []StorageType + StorageUnitCount uint64 } -func (n *NLookup[T]) Add(x T) { +func (n *NSet[T]) Add(x T) { unitIndex := n.GetStorageUnitIndex(x) if unitIndex >= n.Size() { storageUnitsToAdd := unitIndex - n.Size() + 1 n.Data = append(n.Data, make([]StorageType, storageUnitsToAdd)...) + n.StorageUnitCount += storageUnitsToAdd } n.Data[unitIndex] |= 1 << (x % StorageTypeBits) } -func (n *NLookup[T]) Remove(x T) { +func (n *NSet[T]) Remove(x T) { unitIndex := n.GetStorageUnitIndex(x) if unitIndex >= n.Size() { @@ -40,11 +45,11 @@ func (n *NLookup[T]) Remove(x T) { n.Data[unitIndex] ^= 1 << (x % StorageTypeBits) } -func (n *NLookup[T]) Contains(x T) bool { +func (n *NSet[T]) Contains(x T) bool { return n.isSet(x) } -func (n *NLookup[T]) ContainsAny(values ...T) bool { +func (n *NSet[T]) ContainsAny(values ...T) bool { for _, x := range values { if n.isSet(x) { @@ -55,7 +60,7 @@ func (n *NLookup[T]) ContainsAny(values ...T) bool { return false } -func (n *NLookup[T]) ContainsAll(values ...T) bool { +func (n *NSet[T]) ContainsAll(values ...T) bool { for _, x := range values { if !n.isSet(x) { @@ -66,30 +71,30 @@ func (n *NLookup[T]) ContainsAll(values ...T) bool { return true } -func (n *NLookup[T]) isSet(x T) bool { +func (n *NSet[T]) isSet(x T) bool { unitIndex := n.GetStorageUnitIndex(x) return unitIndex < n.Size() && n.Data[unitIndex]&(1<<(x%StorageTypeBits)) != 0 } -func (n *NLookup[T]) GetStorageUnitIndex(x T) uint64 { +func (n *NSet[T]) GetStorageUnitIndex(x T) uint64 { return uint64(x) / StorageTypeBits } -func (n *NLookup[T]) GetStorageUnit(x T) StorageType { +func (n *NSet[T]) GetStorageUnit(x T) StorageType { return n.Data[x/StorageTypeBits] } -//Size returns len(n.Data) -func (n *NLookup[T]) Size() uint64 { - return uint64(len(n.Data)) +//Size returns the number of storage units +func (n *NSet[T]) Size() uint64 { + return n.StorageUnitCount } -func (n *NLookup[T]) ElementCap() uint64 { +func (n *NSet[T]) ElementCap() uint64 { return uint64(len(n.Data) * StorageTypeBits) } //String returns a string of the storage as bytes separated by spaces. A comma is between each storage unit -func (n *NLookup[T]) String() string { +func (n *NSet[T]) String() string { b := strings.Builder{} b.Grow(len(n.Data)*StorageTypeBits + len(n.Data)*2) @@ -115,17 +120,19 @@ func (n *NLookup[T]) String() string { return b.String() } -func NewNLookup[T IntsIf]() NLookup[T] { +func NewNSet[T IntsIf]() NSet[T] { - return NLookup[T]{ - Data: make([]StorageType, 1), + return NSet[T]{ + Data: make([]StorageType, 1), + StorageUnitCount: 1, } } -//NewNLookupWithMax creates a nlookup that already has capacity to hold till at least largestNum without resizing. +//NewNSetWithMax creates a set that already has capacity to hold till at least largestNum without resizing. //Note that this is NOT the count of elements you want to store, instead you input the largest value you want to store. You can store larger values as well. -func NewNLookupWithMax[T IntsIf](largestNum T) NLookup[T] { - return NLookup[T]{ - Data: make([]StorageType, largestNum/StorageTypeBits+1), +func NewNSetWithMax[T IntsIf](largestNum T) NSet[T] { + return NSet[T]{ + Data: make([]StorageType, largestNum/StorageTypeBits+1), + StorageUnitCount: uint64(largestNum/StorageTypeBits + 1), } } diff --git a/nlookup_test.go b/nlookup_test.go index a056bc3..c9489c5 100755 --- a/nlookup_test.go +++ b/nlookup_test.go @@ -1,14 +1,24 @@ -package nlookup_test +package nset_test import ( + "math/rand" "testing" - "github.com/bloeys/nlookup" + "github.com/bloeys/nset" ) -func TestNLookup(t *testing.T) { +const ( + maxBenchSize = 10_000_000 + RandSeed = 9_812_938_704 +) - n := nlookup.NewNLookup[uint]() +var ( + dump int +) + +func TestNSet(t *testing.T) { + + n := nset.NewNSet[uint32]() IsEq(t, 1, cap(n.Data)) n.Add(0) @@ -22,7 +32,7 @@ func TestNLookup(t *testing.T) { n.Remove(1) AllTrue(t, n.Contains(0), n.Contains(63), !n.Contains(1)) - n = nlookup.NewNLookupWithMax[uint](100) + n = nset.NewNSetWithMax[uint32](100) IsEq(t, 2, cap(n.Data)) } @@ -46,3 +56,247 @@ func IsEq[T comparable](t *testing.T, expected, val T) bool { t.Errorf("Expected '%v' but got '%v'\n", expected, val) return false } + +func BenchmarkNSetAdd(b *testing.B) { + + n := nset.NewNSet[uint32]() + + for i := uint32(0); i < uint32(b.N); i++ { + n.Add(i % maxBenchSize) + } +} + +func BenchmarkMapAdd(b *testing.B) { + + hMap := map[uint32]struct{}{} + + for i := uint32(0); i < uint32(b.N); i++ { + hMap[i%maxBenchSize] = struct{}{} + } +} + +func BenchmarkNSetAddRand(b *testing.B) { + + n := nset.NewNSet[uint32]() + + rand.Seed(RandSeed) + for i := 0; i < b.N; i++ { + n.Add(rand.Uint32() % maxBenchSize) + } +} + +func BenchmarkMapAddRand(b *testing.B) { + + hMap := map[uint32]struct{}{} + + rand.Seed(RandSeed) + for i := 0; i < b.N; i++ { + hMap[rand.Uint32()%maxBenchSize] = struct{}{} + } +} + +func BenchmarkNSetAddPresized(b *testing.B) { + + n := nset.NewNSetWithMax[uint32](maxBenchSize - 1) + + for i := uint32(0); i < uint32(b.N); i++ { + n.Add(i % maxBenchSize) + } +} + +func BenchmarkMapAddPresized(b *testing.B) { + + hMap := make(map[uint32]struct{}, maxBenchSize-1) + + for i := uint32(0); i < uint32(b.N); i++ { + hMap[i%maxBenchSize] = struct{}{} + } +} + +func BenchmarkNSetAddPresizedRand(b *testing.B) { + + n := nset.NewNSetWithMax[uint32](maxBenchSize - 1) + + rand.Seed(RandSeed) + for i := 0; i < b.N; i++ { + n.Add(rand.Uint32() % maxBenchSize) + } +} + +func BenchmarkMapAddPresizedRand(b *testing.B) { + + hMap := make(map[uint32]struct{}, maxBenchSize-1) + + rand.Seed(RandSeed) + for i := 0; i < b.N; i++ { + hMap[rand.Uint32()%maxBenchSize] = struct{}{} + } +} + +func BenchmarkNSetContains(b *testing.B) { + + //Init + b.StopTimer() + n := nset.NewNSet[uint32]() + + for i := uint32(0); i < maxBenchSize; i++ { + n.Add(i) + } + b.StartTimer() + + //Work + found := 0 + for i := uint32(0); i < uint32(b.N); i++ { + if n.Contains(i) { + found++ + } + } + + dump = found +} + +func BenchmarkMapContains(b *testing.B) { + + //Init + b.StopTimer() + hMap := map[uint32]struct{}{} + + for i := uint32(0); i < maxBenchSize; i++ { + hMap[i] = struct{}{} + } + b.StartTimer() + + //Work + found := 0 + for i := uint32(0); i < uint32(b.N); i++ { + if _, ok := hMap[i]; ok { + found++ + } + } + + dump = found +} + +func BenchmarkNSetContainsRand(b *testing.B) { + + //Init + b.StopTimer() + n := nset.NewNSet[uint32]() + + for i := uint32(0); i < maxBenchSize; i++ { + n.Add(i) + } + b.StartTimer() + + //Work + found := 0 + rand.Seed(RandSeed) + for i := 0; i < b.N; i++ { + + randVal := rand.Uint32() + if n.Contains(randVal) { + found++ + } + } + + dump = found +} + +func BenchmarkMapContainsRand(b *testing.B) { + + //Init + b.StopTimer() + hMap := map[uint32]struct{}{} + + for i := uint32(0); i < maxBenchSize; i++ { + hMap[i] = struct{}{} + } + b.StartTimer() + + //Work + found := 0 + rand.Seed(RandSeed) + for i := 0; i < b.N; i++ { + + randVal := rand.Uint32() + if _, ok := hMap[randVal]; ok { + found++ + } + } + + dump = found +} + +func BenchmarkNSetDelete(b *testing.B) { + + //Init + b.StopTimer() + n := nset.NewNSet[uint32]() + + for i := uint32(0); i < maxBenchSize; i++ { + n.Add(i) + } + b.StartTimer() + + //Work + for i := uint32(0); i < uint32(b.N); i++ { + n.Remove(i) + } +} + +func BenchmarkMapDelete(b *testing.B) { + + //Init + b.StopTimer() + hMap := map[uint32]struct{}{} + + for i := uint32(0); i < maxBenchSize; i++ { + hMap[i] = struct{}{} + } + b.StartTimer() + + //Work + for i := uint32(0); i < uint32(b.N); i++ { + delete(hMap, i) + } +} + +func BenchmarkNSetDeleteRand(b *testing.B) { + + //Init + b.StopTimer() + n := nset.NewNSet[uint32]() + + for i := uint32(0); i < maxBenchSize; i++ { + n.Add(i) + } + b.StartTimer() + + //Work + rand.Seed(RandSeed) + for i := 0; i < b.N; i++ { + + randVal := rand.Uint32() + n.Remove(randVal) + } +} + +func BenchmarkMapDeleteRand(b *testing.B) { + + //Init + b.StopTimer() + hMap := map[uint32]struct{}{} + + for i := uint32(0); i < maxBenchSize; i++ { + hMap[i] = struct{}{} + } + b.StartTimer() + + //Work + rand.Seed(RandSeed) + for i := 0; i < b.N; i++ { + + randVal := rand.Uint32() + delete(hMap, randVal) + } +}