From 191bb7710c2c5c378ef1a65b7316206af867b6cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mamy=20Andr=C3=A9-Ratsimbazafy?= Date: Sun, 15 Mar 2020 21:02:17 +0100 Subject: [PATCH] Add a warmup to the Fp bench to deal with CPU scaling --- bench_eth_curves_clang_old | Bin 112960 -> 122904 bytes bench_eth_curves_gcc_old | Bin 140920 -> 154600 bytes benchmarks/bls12_381_fp.nim | 15 +++++++++++++++ benchmarks/bn254_fp.nim | 15 +++++++++++++++ benchmarks/secp256k1_fp.nim | 15 +++++++++++++++ 5 files changed, 45 insertions(+) diff --git a/bench_eth_curves_clang_old b/bench_eth_curves_clang_old index f690889f31af404f06019929a8c36754f178e095..7d2fb6643d4b3f0dcdf878f5507d31430d65ab92 100755 GIT binary patch delta 45721 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 delta 36246 zcmbt-30zgh+y6NSFM@)Af}(<46cu+|C`?gsy(lQ=My|M|Sf-@7<#JKfydj27bu7)W zEXhnUEXiDO11c>l7jplV)g{fyElTtJzt7AZgxjz8eLtW7___C)`99A)^UO0d&zUpl zaNST?yYQxac3}NPKZU0lL6pMX>)XETnc^jiDeJ%M)S~}2Q820EE6OTJEuK~N*vo1_ zY+$Tln6$c}J6IkGR0VW=O_7OOQ-zels1gJ(>iHEE_YapK&xNmHJlI3?xj ziPI*{n5m@BnK3JE8vE6KKigirJ$j+xADMo!c2j#7=%5kvpE1Lm1}s{Z_4Ti!=WfbC zS)SKq2Cw-z%9N^nD2hr8ZJWz$FEFOdHZ~g`A8*1oYg8cs)koo!)djesj?bQE7(kdvIDgN2$KcJ zT7{#15u^koyo#YH7E=poL^WK76wZyRhEpSEim8U1-Xor^8cyLv_#ZT}8l!rQNvej| zr3x}7SHrPxt5Qleyj~TmD5=$O8K61WzOWiYE>+G*uZGK|&G9wW@CMZy$gYO-z$kee zs^J0Eu8`Xr?)`nb`nKCkzFzjBs$yGJn5G$}wv1yQM|lk+@_WEW%d7bI35h|D z$|=MvzhWS@JV#|3;qp>m{)WmlHOmWm`Ex4Mlq}EVxUVe+pG_vK%y!<+qX++BtdHE$O(?FKT@bU{(rU5LE;N=xmrnOLR z<>lw7jDhT{l>2gE4goZRrjR1_m%%n((%oo&mCUIbxVmWA4|b+1eduw`00f=7<`G_LrBq(hH#R8q*t zarwwTL)i(xrkeK|D%nEpf6YnUH*n&r))#kYD+&t%{2G(}5qhm+Kj*J~KJkD`D&ha2VGkSZx zs>EgXcFy_RFcMZ>T{f)q`S`33Z&WC3v44B*^xy0~|1f(9m?Sh^(6O=OV#mi$h@Duz z`o3XI^9kt(hfM3}6S9(AgIS0&y!PHP;WaOEV?A5K$v9AI`-IiQa*sXvr+O~VFb;E_4_dT|yVN17n ze^Jpc2WK}iCpR8rz8`>|G>{wts?LcMz?}2+%t@a;mTa!??tv@O3izXK| z%U$+f)7EaAepK?mZMsl(n}p1e;1t#E?hi`-C(T-@Zl&KV`IkdhX`1afHm&(D+PE9+ z@fIz$I~Vg8wK%0}6R)$OEn8}p=kw>cY^ZA1Yx(P1eXj@!Kr%C6#&fuSE@&q@7{4}50mP=P8+>jRmV$s?h=bYXCBu5S)N6t9=uXfG)33k~X!Ed5I z8P-V}HXY@IG(r>tn%t%lD56M_any>j4o5R$)Q9jK+1nqvn)Y@D0!Dix4$GZOR5I=D zE$qDlFy3M32Cu5DGI-yae>M2fkKB=EA5^n%@huno98fFl+r@Ka-@C}wwC`mgU}Rmg za|1{5qG@0b8o5nS=n*O_eR$<>3OcPAlBc~9c{49%U(iB_LK`4=E{I;Zltc0@4g_D%kC5%t|P z>sR^fx<03ATTkTId8E6W=J{QI|L%uW&32Z#_ZX%f*vy{j@q{*cGuzW6T#GrwF7-~o2euPEE4AIUUW@}>BYAJ{F8^&g9L+>8MVx3ZJxlJuGu0Z2}SD`V} z@+gt+hnG!?&y4JWeEF9cL3sP@E7bNS#C%+t+G0avb9`qz{AYmA$A@uM{NxpOr|$s2 z!z7f|?Ii6E5H3D{g~j&^>c5H5%z#xy4u9{4tA}&TNen|~eEI7d*CEu#>FV~Kl(eb8@4>z0S8-AkPdotsXO0ynU6(F3Wh?eqKsT=Ze7W>RbW{j0~RSj(!mcLf2ii+)wFKult*H^O8k03GoQ;JGqJCxEm+9joYYQx zJdd52G*EkO0SlOH^*m(I3JXYGzvNEp&rfy5*oO#%sK&tb6mOM4k+lPd+=F(1S+l6!KLuIwg(WeR6Q!rhw-)v^gT{r?L2Ho$5wxQWb2> zy`R0Ou+`H#x3|2(by_pM>mcW_b+Tn4`aAj}h(+Gs%%{q{*NJ#9c%A()ZLqfab@ui2 z7;VocHfQ>H?eEukslg`JASFth^ejtAX{=3qkENtIfqO>n(vnw+iYu|2T_hy7^e{N$fpNb59{SR)#;Mt_> zt~29~7%-vergQi^wG)W8dgYQq@;mTG&!@_5F(vH8wo|ySm zX!%S82Ua-Mmg(Oz9KyC9Bf@;=)wY)4P9^ZDbKh2Wb>FjxlgkmvpW0by^WhT$CDoMj$d)p_S`LnEuHm@cJ3*5eOCX_ zqc^z?X-^3!?5L>ege7mW$7e4MZ7HPA%pj=;&U!VZ{&HU0!YXEW_x$2_u4~B*)+M!_ zc4!NmnA%Vqy@f4EUFZ2*1?T0YuzJsiY6r4e=V$wSE)!s<6lQ<6OOvN_&~~QVpsb$Z z6yxLC9HSBa-szUZzIZlKdv7`mo^#FfI&S;0M&6jl{O0;=+cvY-bNhH^3b5xiHfL_v zrVBPxJgyaH%j$_MYB5&ZO#=j9X_Kx0imw z#YgN?uv4)X#YE6%aP3+)XI>}m-bVKJyiT6YMWt`2u=DepdY;*c8sQe7wal2;&GRr0 z^5e52=S*Qe=RX?yUM3%Vn`35Jj4iXj;}5P=ZG=C9a&^C4gwo6|l&u24~y@V?Kw)v*hE^49APp)Q*7Poa9hWp%i7x(h? zCAC?RhsU#D7kAa}zrva?X{~+x3LCs6$Svzfg*~-olJ=i*?BtTJenGF$4r#H6&2bUR zf4ZtLzon0OeQ?$6&De2l_|mTRUVXW$H&Y<<^3o1k)0OP#Ql_oWU`flCX=lc;vSnTU z{1~a5BGsM$USUD@L2m0nXV`V_IR(*?@jGrJ;5&9yVk4oQkC|z{~=#Z(3-7h z>FGnYzq8rb=?V4z$UqIB{uMUI&(53Kto`z#bzhf|b3-;;y?k)=r!SI@B7UQB31 z$Fi~1)Z1~(@1MkS_gM#drTja5bv};~-?oA#M86;}FD>a7^6b$XFaToLBxfzevM zB22rvj_p{{&UeqxsFJoL&hZoNF}JOwYo_PTORy&^;O$YYZboq3+v{kdUN!>8{>-vh z__Ki-eaAJ%VUXgpaxuOU^Swq<0Ph!u*+5?o%e|2RvX+DeI^(GF24ecID)d?T1zJOe z^Tf|Y9n060D+U(~K#{vK#y@3r7_=L>v)^87Id~q;iHs$X@mcvFE*3nQpjGF6R@#IG zb1I<*TQ@p}F-ljWr2^4X_mOP;%0}Uxpic2w0(Jl9THgI= zOipzF#t2rpGPq@LNZ>^0Ja@sqKUAftUs!GG#Lf|BC$^4Y+N#IwmFH0}GZ5bV>k~bp&h&%(caV+ z;tSW~+zSbL-p9{kGA$p$F81lFAp6C;!V#WiE*!y+3v-7Hu&xB>X=8Dp9-RYNnOC2h zK^T);_z~RT%g!Lt@KUN;)o|;F4b$-#oqc5n52Dqy>U^5TmeH4uS{)WV2z8tn_t1o$ z5D}L#paMJVNDG&`o5s{RO?(=V#JiBd-OJe@6jr!8*6sbfDy#K;q?Y+O>+yWMMnmq% zj>J2DtLjMO$Jx^7gYBO5Tx(u^aGbRf#>7Y-c!AXY=3GUAEi?M3Vbu-K26H%UEu^&x zTWuJ>Q@3Rc)m`-_Rl`Jbag`2Onb(M1^~&G<%q9mztFsk33V1!y?(7=vHiiVwBUeI3 zQHJ9}oO=uUvjT<F^Cd?-j_`WM)DQW3T`>r;mp@*d{2;X=4iL&;b+;=6REcRW$ zCBlu*ou>X;?j`bl*LQ&EUYF{~eOI$#ta43Ar*{@oNT_~q+?9mHzAIeFSM9q3hw**a z7tqG{T}KjW-&N7qWXKeX*C{+zLZYL{jhb!I8WBK89Vj8{q3?>U)GIWT!eOq

aFipFAA=LaCrg-IqVc0v%ZbiW;I*2zT22DPIJx@aKvun z!*9{8f9xi9%%kCfb=aTaz76I-Mwe7TJ4-HF&8-ySsGo z9lZlR^T~RLx|iiWTwD?M^UnI42LdPK*`${m+5^^L8C=;!4iA10XWdm!^;(63=~QDS z3Z_$UQo(fUk5n+7T1ExwROc5cR11-~xXf!MY{iT}!$&>JX3vWJc|L~uG7S`#hT^<~ zYECP@5O@42m?OaZ$^(YR=v;XkZkjPPbmDe$kjft_qmxC*PAj$?2k}$EI)V%(WPih1 z9M5L)W4R*BVE`JgU)u+%V@Y7*uUHw7h|ls)Lbk~A1it-nMmC0*Zb2M3$pP0vAzco_ zd!Oaqx|ZT3(=dXRBTxe>x3cE&moK6F9HeDz?zQ?r6RlKd9E!h zAYD{i3PLv@cyzLikgVu;;eV7Cijo6_PB@C`>+@+oGfSrV*uDD-^EW^(uZ){l(PB18 zeKJ4GY|-*AG?2UAB!%{33t3AE-FSnbEK7IZqD2>_To7@lQoY5S-*C}uM2anI;>@lF zEJwD;vI5^BVAw$^6iC`~5f2-t`QiYy~g zpjyO}E`MBzZ4#B@sf33N@PixmB`e@1WQ#1B_@=3}gB;`tc;z})U$JE}oFPWWZW)Vw zk!2jdac&tso|lH=TO$`i7iuMQ&<`rehI*h@YQtgiA+1@K=G+F0CzXmVXK)B3lv}<+ zw#ZV7?{F|qf>J8796}Dh*!3;?PeYL_YEq~T7n=G$pf&C2_0*xRBU+<(mYUPSymuxFS0BK(c&GJO`zzLt6mb+9cw$#P0IEtFf@~(w!k;Q^>0zt?^0N=E>n}I?>k17QL{#=2#P!QlQ_}9vXw~H*-k;5^Ddqmjz z2bGE~-Owvxr=P!RADvPG7U@eKu* zy@G!m;IG_#0G#k~8}j2)cTyg%X8 z9}HX@VejgP?M&qDB*}LC1ixc{(@yW!$QD_`@lF0{1BwRbSJk%+<@If%zQs@QANJvM|(J5r)PJL+c1bjeaVBFQv$$pkg~{{u>CTBFk_6nEqN@``}%4F7^JlFbD|9kzxH=KhXDu{WgAktMqm{b5KE`@h# zI^v?V1ljg z{DMn?ohypmFqKM?i-f+0AhfN;ku1wfkbg${31||`(I7>ZWQdT(<3Xjx6OgsT)`_6t+$Rg69qpaw zRlXzuOO#AU0LnwpA$A-j24Y2)BIN1=ISNXt$np_#xKNGcZDm=82*razD8cM_LLA-+ zM6$eL0Q1XjU@tgIMaym?#g?7tt3t&#WQ#1h_{M3TKc(38zSuVTt7VnOCUD$ebS~l)}^54#VO!L0{6+hLX+s9L1v0t|L?DFn0 zENPtOXDT?kSw4w2@crC;kzXbAbe`vs`G`#Kb(2`q`|aC?&!kA;7U$+px09LP&qKoI zh6z7PCQf2I-|ymk;%T&->26cqsOd}3u!{GW*Z%@VzWO84vaZMhIpXa4<>Ts zJwlLwX(HSDL4VDSv1=c6(Y|_#h3sq;)(iq@ra33xtwEd(E*VDu&R1=jX<=5d+KBFpek z_`LRx2gOjuflxv-`*3-~Tz;td)q>~tqfO1Z} zSD+%qegluDogGSVAkU2;5Ju!ub%*6oDivEEfW&ZxmOqe%{9O=k#4Thf;T{3XF^=AE zP$R{b*Fh-3h^COi8hx3!9`Fh$-bDmrw^XWzax0*85bWYc03;*2QFVu9WNH5HkJ8or zVFe*te#Bm@>N66jMR-@r@wW{}Vj=t3#Qlu}kBy^S{0clBA7AZVt!df$IfwpK?Q?Nv ziW>_$g>p_uKB-(Ci*vLinddA`cCB8MQ0{w9Dlq07)9DOP0JxLY`} z7AWk^B2sL50fZ8qn8_KDBNBOOl_W=kn-|KN921T)PB9H_M>Zy_T52n zXPRZ{ZKVO?)ws*SLvRs5*glo%qnh}?PTpkCe$iDcxW(T6qO~@( zf_?QxV=e4+_RAMR4MyQ%W}M@=tZuaf^*Q(M{`;%hsM~q5V3P z?LN_7J2aGCKG8N(wbpMa8*{RKP{W~geXD(KdgnsCL+Z2Y49;dd z8#cAr8MKYPbuz5ZnISYTZgHwRTYsXNwsQ!pIN5*VpVfm)MG(LTO55=PUPWN|7;<&hUAMVc`YoSZ`ahaz}_h&L6f&59C zk9ooS8)VnSTM})wbf2Q`x`|IYj^vmJX_L$|d^U+{&U(@+} z`f%q*4B*ah3KCmzk1y@Z&K$fV5c9&!uzGPB_l>l0Iwv209X{%QY-v*z;vGMA{>HiS zSAK$Sa}+s!x3hXz8ikF%$2*NzZRt$hV$1A`gW9`JUraInB&x_cavO`g(o&lc&kmnz z$W~uzpydx{_fGX|w2G{m;=kUeer|k^AmiN+F0vhGqfYnJ>ThM6PFuCq!R+Aap#ei_ z%Y%nQtI!=f!AApY-)7CvjIMnTI-JdpvGgz? z=Jj1q?dm`_=)2b1rvusC?;`Guz8u~?sjz2n;4pa=FIzp$Uadt95E!yY@=QCnHg zo;nw+ZQ0B|IM>o+%mA8ewZhml=R>rv1K7QD?OM5W%>CNb&V}66LFk#7e_oqOcQHM3 z3S(a9n`lM-S<3k^EvG+QcYd7q)(v+3d{ncrp5(k*;zhIAL%x_^<#YHt`onqQAnS9X zm3=0?ei=pc?sGijq}LL%EVjDz1{gh!wj?};hyS#ZJ2akTKBm)IbJ4enez@p6$UM!> z&N5GPGg9Vbknb+@iO4@D^X%sfadp?CJw7wLKErxkZ2RbFv-|+t(duzwRChi#zoBkr zc^?3YE!ZRDLZ1S*>0+e!`HfYR&$^jiy4Xq!@5|>@(4_|2(mt&7r6Bg}wYCwbU#Fg+ zV|Yeg-h(dlGm)n$%%9-9-v&Dq&kDtpGQ8C{@VeC(aitn~_I0-4dhocEYow{z<~S3N z{bn*fs9yD>2|1fkHmk$a)P&E_?pq~{2egW_{p+mxuPqw>v5%VQ7lv0;@O)HQ`F3CS^xrMi7-s)N3x(XCGOU%aQ0M|-dqH(E6uPRk%Ga$I%E-Xs}c`}d`uL#r=yQC)B5!qPeT|-K zFP8e-D6e&xZDe$+^TZi8prUh~XkQqB2l3x^XWkX98qA=rKVC_w5=$bnxZ2*poq<2= zA%1EQ`>-OQ?>l@In+6OdE9s@Q|HOG-_u1+6>1=a+Ydidd)#izJP=2amR$s0=GAK%K zqN+VTqv^DR{KV|P4fHzrh-u&bQ)sx87p_DxsDO#$8O1LCZms=hAuQScqrR=aYGq+J z8)|)yv7R@Z29Bh$e%Sd3Tv6oSM|8WU_EdYY9XDtC^o$h4g8c#hD&kw#`c`C*0xlT5 z93&o&Nwj6{3A+M5Vk3?m@T@n%QQ>TQh`S}Mdi~npGW}M3?N1KEo?}0-{db$_7yQ*a ztlsVB+RTHx7NE9h^g|7sLV5MbeckjWwO~_s_TKH$J|ntTn<_7U&3x`edX{1nj(2Zf z>&6o9G_L)~0kjbNJ$vR(*GKQ~hsKQK#=M{6>tcbpy874u)M)Sw*Bv>utNybE4Ms8l zyFIM)-bK)fAP;0XAdP^M75RH-;dZODQz@H$w|(d$Uemh|Cwsyo#3d-s;dK7|DXh79 z1^w;fIRR|UodsR<|G0Zg)&7cL*DC|HHHFOm&$j+cE|IC%v3rSjpgFYieJ6c{r`msX zH*vs~c<39fKS)=T1;DbXz_rk2rXJ?9$Kn|MQB+oLdyms^3c+Shn8mCmol`x zc0z=f*LhDPr*vjrA0V`ROtwYd?^JDOg^(md%SUkA{c|F;>~#q(;QceSd?Z54Iq)8? zuIISwNY;smmIxkNI(8IuDAl>+a}iqdAcg6%sM9OKDniR1ZdLs%u_zKlXaVjF{H|JP zA@i$Z+d#7NUqee-4YPjez~|Zi4kEO4su5Zyv^VX$P-2FbE2x0b@?Ho1S5-x9`4FaT zKU*!fd@N!M4fey{Z|0gJN4FQTrGvg-Q)l{IXe->!gUje*9$b>RWN;|R{}5bubH^O3 zUjOGJ5nS?M(6Q4l!6i=wm(w+jI?Ss_j%h1`OFR9OTIy(@+u_2fbXr)mkMrn~3Q0tl z?rlYM*@Y%zPl@P)gWLZpx_n!s#rbWxw|@&4(WR{(=C1azp46+t%VLQ0@Up(OaJ|*( zbBu?V#=NTc_uRUg;pGFEbMqS>ULJsr`O~P42rsX<((ikyh%XD+K`tx$%-pK@(uM;ktAM@${?GAc8Ffl*UD}{quJMH?+fMPtho;X% z@GP5uz1g@FGRq~rd}cz|NE<{Cmd8-u8(!p+1XOem>ilhGYa)L>#6HaVErS)Shpd5>`^UE-P|^-$fXf!f2Zd5EDWG*B~q zuHuNombE|Z3OVAY^e0^ojoPg9@J0tJn-I zVcPyJtjq1@fw@IBn*W;DjeIIZ?-_vR?*tk8a{=l!pHsorCdrEh`fmYfJ{7`$7?h@tr@A0yd10-H$<~fH8pfgBeh3}1ED2` zdYnHK@;tOm3L?=ZVOD3zUVUOCwR@-+uk3xCn^+^Z)WPk)GvF9H-Aq5*NcHzrA&QC9 zw%Oj>jnuoU_FPl_dSgVG+_!mz*+lQ;iwNV{lv^~piQcb?+RuKqQH>DuV<7~yqTQb~ zLrhu|4*WgU1f~FR-nfY`PujxN`U78f+QMw-TbOQg3zO*l3mZJ=@$d0fh_|Mb%3sG_ z=fk(AU`-(2rO_KTRRaemFluB;n1}Oi(%un=r_Mhi?+n8NaE8!j^&D*%GjX~z6L#1hMQCDZFnTX{*Fwz z*!X{GX7$;I)DWvK?pRDidd;G3Q@+ zdDeOSHGEajI=c2DzTU;=RQ4BDon}>GV)ut8f_eUeqGT%Y%EOnaysF%?E5Oi8gVe^Y zdrZb{?x;A&nb?tWjytgrB}aBzkXy0ss8y-?vn6=)SGh0{cqbYUTVNK06Qo-{h+6`s{zNV>ifvA90J{7`NB| z+h-htCdo{e^na5l{)qok)b&8}%_grJb6jZ)mHQ>V@spD0eY`_ik>lzU8(z zCqm7^cQ^IEo1K312dhab`RjpU#XPUP_rUNVdjEl81NHd(fq?^ZB^PuFXaQ(8XwriR zMk#0t=vB})pq0c2^}>m0C1^L$4aNgwDrkvf7z9bX&CK6H`GOl1omFm7oQn9#+Gsg%>Epn`6R)7J!Ze%?(4xs0_LXv;?%oj?BWAu&^E& zp#Gp6THz!PG^veYYye#Yx(Bojv;;JzEj$A1(H>{YJ}?|K2ehE0VO#}W*vT;Z`JxP( z1iCN+hJre~pdM%?Xa%UPt6|u^{2+)-IA{rIPtZzG`Yo$)-0V*UjRIW=Y6D#hngp5y znhUyzXe0~+O+knYtd9^{fI30L;~^gaLqL;23qaFA zlM*mThz`Nz15FuX$0VUlBF3yCdJbv@bq+&C(A?pM@iM5#2*W5OK4>M;k%rN&5fqJr zr$7rp7lJNK!W;rE1HBLGF$NtAgdr242Q+XZ3R8B?1M4!cEY=Ql-vmVs^n z4cv;k0h$6@3R(bq9n=Zx(HuSBj=2F^xdW38G-(%b+`V{w3>dXS#7xA837vgIeG}{aRPG$H031p zwFdnP`asJ{p%2t{3PT-^`k*PGwli4&dyq*f!}4nbdJYOfo#&wtH1HA>g63X^!nSbv z4;UKIg`g#%8$hpsdR)cOfChs4wu2mK7-#`#3~0)am|LJ_pt+!w5GIiHdNFE~VCU@z z2F|+_rC)8tMMXj1m2UXt+22V77cUnJTTme7hBI4(^*NyXX_n(S&Z7OaoF95 zyq<*PV+HoQ{%jw$nO-+mZQSQ7uykN5C?#sA5}zf&te}(#^Mb${VB8$EMW*0o17+)7 zeOj#A9Ip&1%Kp3hx>&WXJN_6%Y5#|QFjgJV`55xPl@E+iQiMdh%7_ol#u1DYC|+(> zQh<%sclT3+^kIF}M(*L7qOAQ(pVdcw%$j@XCHNd`yS-2_w~Q}sLg{fAfJmp zK|wWL6~IPdKQK%8?x!}@NAy(#gWJ2oeq8$}NI8tI5(DfMu$B6x0crz%Q(x6LcqXtY z>;dXXx%Qyxz`6mOqpy!u{q>7|)do%TfUN{(_KW&(3|Nk8=ym(4k)7zx&y|{CG?$8~ zFQwCm;yP=2lR|7n6qYweXByM-$ka~fA>iPB|S?ayjq9{|rJt%s$w7=?8 zJ04gisjbA%%iRsifiu)!R` zvI0E;EXvC;)Y|%uIJKqTV}Kf5I}j82etkoqI6#eVIu3<0f5UiQ)`|g51vUb=PkSNI zc@Ir@>~TD$05w%Y8X97eNsJcB1z?rHcIwX##Egm^h*9&e4P~hNST(tDV4HBuI(wkn z*)ti1eu0MZvEF$+%=>bn+ALuQu!1IrfrZTboS~&~fAfaHI|1GRsgSS>z&x57hC^b> zpcTMY0^6(~j)mR{HuVwD5g3TVAnbkg*f=#<-)B=FtGx$UOt7Kfv#HUwD^WPn%+Pzs zsZTUbLVw$b7)G?zN?n`@ED6Uq`Ef9PD+*U2FkP5le~{YDUIDCD^M}5oDN>83HZU3v znpV^5dEi@2A1ip>z?($8e)X(ce_~qsaP|amO*LKA)kI(`fwdxeB*LZw%K_E~SMe%v zA;A3rvC6BkwZLc-idkBPjp%@Dfmj*84px2K z_XFF|LC0@@wQ{GQ{94;l?-;LkX=26Bx>hHwF=_@0Ebb(hVE(bnwUM&-O!~ zHYTV6ZBl`4?S>OZs(?OaXp{L^Qs1b4Hu$H&Z!BW!odmT}_Y=Sh9>Eo!>LAgKxB_es zur35}J*j+x(-gZ8UKx1f#VVRKL~Y>N4V!%BQ5+2j>@{G`X99}?hMkSnk;HY7Kh}WP z^HKfFA@D~Y@_QhsP(On8hC|hcU9JOL7-dvl$0*P!xM4^GhChpx`h=~4z{fqNPe47- zZpfEDhMNXy$57Zd6WE#__=7Lur*DU<0q(iLyrT6RL)BKEr;v|{HjLjyo$iUKx=_d5R1J^Exp-9wUK^cnA*-g7vTN=`i)^~vpOe`Pa0qt-_#KT z9UfOZH3`BUi4*&NbIH(%(%s9|M1B6_>Lczmkxv<}fB3liSo0moFT~#8)%!HMCEzU? zsn;8ho?Jz~bfn&PIC?^NI#HvlMqj0(%B)#4!>~5|ge_Q4~a9`#%S>O@KhfUTekPO|> z_2hW7VWbyTl$F2|Cu18;fK1dLzu5y${iQ@$9%QEiOXP^STpk0K1FWO|^$0ak_a3db zd&U>{c`K(HhA!o(ZWu7%Ck^B6YFHGo9l(ZH!{X^4(M2v9*vr#!SSaNvDy9L;118%& zfOg&KKJ(=i{l;i@z$0F`hpc?sFqUDbWhQP1@Z?#BaZ-Y$D+*Z9Y|Jx@nA`~?)Oz}h zNosJ%mEe@(Msc2$CJh^a^-MF2$FEZBY>4I&{sU6wjH$+`SgXjPms%x+Xl?*xreiaupPiW zT(Cl5wW?t>n@#~!p3}84YV%R|kq=yq`&U4eNRKaWqE7*v!x4dn0gG9JzeufyMFG1H z%um`ycE zs|MI_1IxBQ-1t3#HAyT?1FUzM)e(X#*my1nAeJj{v#r*W$H5UR8i0#*p%V$Ty{8-N7?YbP=C^$uWB!1#WNU(^=!FhaZ% z@W!ps*Nsyf_PL6DHsrYHXv@=AYI8Q>orrotUp7G<<8w2 zS#LI39pLGKfEE9$VSGoD3`%*v!`qV}igo5=Ms;OI|mO zdjh*gm<<<(_M7mqL|{E80i(l-c$^i?6g!j5NoxOAywlj*kHD=zpCxddHbC^6YzzW# zO^&cJ1^Me+YT8%;Z0*}MZS=5Wl;5doV-m2ScWc_13+%+Unl@GfyPo?`8q8BE#wAI1C|7A+($TD5q{h_P3>o4?R*mdzhvH_Ik9e^A{lo4=QC{yw_=J@n>^`2*fgXvcwqYdujcnZ|j*=ldKM30?~s_XPgv(+4Jyoz7(56}Zs)oe33;m6na z?n_mNsEs4!ZbK^I#7(KKtkXm1sEwcrB*4uR$AH7AT%gaGqYhLP_1!4h&2HALjGe3^ ztgVUrD&~KnP!q>5KG2^exgL5M(+`FHTe2sLA^8X=-crmhML;)rM}WYGtAl z-wGq!LE=|jaQev_l23NQ=@5H+>}C1Amk%T zKA7XwK+IZE#$|)2j=)Ji)kQu*;u~D>nNp9kimGF-ID{T$xn%fK#6yY}M0r8tg;NB; zZ}E`*(3F2(;QU4d+3$eU;3ZEI9msYQd{0oqeI*`2FfO7>56Os;41QGu{*3;g`B+=8 z2vWp}{hk!IJ}I>438KW-651=K3V^~bC5OZnDR1ImOWfB5Z;TVKTFUQ+sQvIe7C78& zSIR7+0lL0Ynjjd8)m`9G0#+7FJW1lbyWnm3mj()f)A&~G6bfX&6sN?MU4-`_D@5`} zh@uLB1Dr8UBjv|GP3mRw$@m0rF`QPo^gtNLK!h z8y1PDOWa&uboxjQm$~RU1spHp_*DG|FKeWtTfBn5;`$%H)W@wD$(#T2OS+WrEb&U& zfZ1@O#KT<-nl15^I`aQrF(=nL$taX#X5t?J|8HY|(3JNUo-l{ zxZ+#0f%@K}VXMT=A?Pgeg)Vv$C2lwOs^-|w;tYSq^*`@fD=V0L+H~$WMcFR#4YC2V z;S!0LxZpoY+(UTIu9#z73jvc{mn>as;?05ox3PcJl$YlS=Gc#v_(B(auEeuz;28h) zW`+7SUAjx+8(i>{5-)JUuSvYj1^2`*mpWGIg108zj;*Nc|A*91RtRiR)1b)`zanwd z)#(!VmA4r&a%eV7JjzASeu-E8zf0!Wf5#dA|M-8H?#c@0{fjyF4SYqn1QEu5>K?rhk`cApx3LYLf+E?7$xyh60evf0325F zG##v5Tm!qm=y6VYO-3h)Cx0RE3^|EL09XIZz4drg{$(Mb zD2TFD;)zEDFkb3;3pjbsZXS|IdF3Nn!B zAy^^hZva=7s+)b9|02~25EZhwi!xsx$c9P$%BupGaYyMR@$?S`E(4*GB5_}NlVF}P z+a;d(fshwx`Dp+3R@5+7H6mN}M2}^t2RR!Bx*hk1lunpH$~ZeOwty3eLEV6xF;C6731kKVrW>Fr$m|lJfG48;C>ozac2m?L%_-!DW69N z8%S*hQF5hxpp-XnPbuwfks}k5TqGVR37D*O z5N(G@6XCao*2MEAZbMw6WXgXH+={>8?W_6K`W1OP32R_i?t~KT zdP0N=7AVX~ZOye*ZHz)Bp8d7JKNF5r`bu1p%hp`xQ-PED=`QB1;JCf966j+8n^IAX zjClR!n4Xq+vW#3SrN{r24J5k^Q6n5~kw26F6oyJW6?zCncm*SgFY#m(Zz=%uVz*M_iKHCKY&ciqsbd9Bx3XO18_7tXAQ*9iD0d~U z+!4SMxq2Em5k1H|Ch+&=GU+LC-zb68D`1o+N?aKv%7!4yx+YjuVp7tpq}2BfE>0{m ztF{nzI?Ad)1NWtSRe2&LVdaLD&!%G|q*>C0`tT7sJ^ej_&l5z661ZKtB3FDT$w&r+ z3@VidCCivOSK<+8g=TXBZ;*I_%QX8)G@w*e3dPf<{sR)v=FY}cFh~2UWE74Pl3Qd2 zFZ76dkT*pDW@zfhBSAgI^+>r1$@2x@5jj6CP$@_jCd<)L5;@*jiIQD0@!7JaqyH!lDJjQ8^mIs$_N(=zVU73$(^Y#ZmX>?&r}=5HO5&bu@}0S@(6J1 zbi_!ZGDWI>LgLA@1+Y?jZy{G_Un|)$zYBIdxm0(_X7XH``O=hsS;z;Tz1P=RYB zrIxbIixN+iL9mTrD{f)11;-ucWmpC(r9N=3$0`KPVA@^c%65U9&Y2)^+$Z%Aj50x# z)%vjY7=+irr%8}1CqZdf!T(6=OPnUk<{qA&7gPIrp#qmj4a)ZtkC6K5^=V4(Eroo< zPoiw%?F4RD(q+e`Ka`N-EkTV|QA;77}sd8Q=NkuUdFGSBNwGfj-nI!e(Nj>HcV793zO~`*k zLzjq8HZgE7Q23W%JSm8hBP*2l6F{`Yk4rq_lbU!r;XD%jEhX|A2no}-Ef9mKE9sL2 zF0VF91aRtlguFkAk}V}j`5YNX$I31)kn+CI)m#wtw-nH0S0ZFUHWhs+6)B-Yvw2bY zPAW=qk^e)=XRj9W3#36F;i3bH@?xRZ7K{!Ow{k-D+Sb6dAa$}8gqK1LPvZNed+{--FfB!c#p_hp4VdF5;@UH7HL6LAfr z+{F|v~rjXw&<-OVp{T0KNKAh7-G9tjBA#mMt_mmaV z9~Fw87etv#IG@G~rG#~bV8uxvzD+os?kg9}7FjbFIBi%f~&?A?+ za!BH-a$ZUG%1MFazN43@FhCIHj;v5xDFC@*6%7|xGBjB>&{N9$0;hSE<6=+;DepU3 z2(Fj%k4n7oDgl_`=FVuGWMq#Ml26GB*%D8exH)n6nToy_g60XwWr@>Fq4cXDii%?e z9-9`6QR5+nR#*ra)U!l?A-P#rh>>{mw*oM?K~tro6sgEG=tU{7d?MuGNS<~`yzncIrhKF22x!bXn^dl3n1!4noi)d(%UO9!Zqm63_Wc z;O0JZ5^(BAg-bu?kUU?=tGPtrKSIDuB!QMDF6JOY~|O6w&4iNq^#eWL`8 zJe}kE8!MGAJ^4e(H&lG3tM1DrZg=CZ(ZrFv9izT`EeB6$&m$J&ka` zz&-k_0REI6draan@&d%y8M$>L7|r=SS&SUnoa$o2YZA|O!3(5HD^?z*bAsRx$%P3y z^7g-xG{LW{z*FVmnU80>3cQ1oOo0XIQ`5P!LTNIG6)!=Qxxo23WL@QXWXa}&biHkk zTDiB!7B#*0-gCLCr>eVcS7X#jUEP5{)S0|pja8#W{;lomp}qfkpF})APLv7;bV2DK5nmCq<^ywue=T^Q1|O0C2DiEo9_9EI(YA*Pt*mf ze&}-`UG%1(s(baDpQ?Ym&6qV`A6BY1Qy{oZ~{qca>U)?+VkUCRskUD3^th8w{ zF$3e{`t+UHrDKS{^ zWyjPDx^`M^p?1~ZII6bT`^0f|kh-_1NPR-p`j@`StA6-^8mdO_oq1Bdq3TP&QfGP3dUCq~5p`K76)RZR_^TyqN;*rtd6OC+qJYK@Ym>oxfJ&bmIt=b=|h;YgN_P zeS>lM{2O(I+oY*eb=cL+PnkY*_T))36DG}h`pG$SK=X3cdA`Y)&KlX?c`^^3~JH|diQgH*VPvD z%%t7)MSwj^BwV8JKBqqF87N~?p#D3GRj;O+uc+qf-OsCbj|e&U^-1UPqU+i7s$T-DsSQ}NTP;2DqT1MG`~H)iU5y@&5xe5Bs zi|V7k6Ga;(Lj}b`s%q;J+LD_>B~h?*AF{JAseyjxsYb5kCz*USc1iWEQ?-2^rr*4z z_R^GLdY8*;uYiiaI^PxtociSpn2pJi&u{{z={ By;cAK diff --git a/bench_eth_curves_gcc_old b/bench_eth_curves_gcc_old index f4fef0c0537847342ddc66e56b39f3f0c854b02b..ff68a117d557badd6f325e347928fd3d5e48792f 100755 GIT binary patch delta 63946 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�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 IHQnm>f8FVFYXATM diff --git a/benchmarks/bls12_381_fp.nim b/benchmarks/bls12_381_fp.nim index 08a83e7..b61c218 100644 --- a/benchmarks/bls12_381_fp.nim +++ b/benchmarks/bls12_381_fp.nim @@ -33,6 +33,21 @@ const InvIters = 1000 randomize(1234) +# warmup +proc warmup*() = + # Warmup - make sure cpu is on max perf + let start = cpuTime() + var foo = 123 + for i in 0 ..< 300_000_000: + foo += i*i mod 456 + foo = foo mod 789 + + # Compiler shouldn't optimize away the results as cpuTime rely on sideeffects + let stop = cpuTime() + echo &"\n\nWarmup: {stop - start:>4.4f} s, result {foo} (displayed to avoid compiler optimizing warmup away)\n" + +warmup() + echo "\n⚠️ Measurements are approximate and use the CPU nominal clock: Turbo-Boost and overclocking will skew them." echo "==========================================================================================================\n" diff --git a/benchmarks/bn254_fp.nim b/benchmarks/bn254_fp.nim index 4f0880d..e159c9b 100644 --- a/benchmarks/bn254_fp.nim +++ b/benchmarks/bn254_fp.nim @@ -33,6 +33,21 @@ const InvIters = 1000 randomize(1234) +# warmup +proc warmup*() = + # Warmup - make sure cpu is on max perf + let start = cpuTime() + var foo = 123 + for i in 0 ..< 300_000_000: + foo += i*i mod 456 + foo = foo mod 789 + + # Compiler shouldn't optimize away the results as cpuTime rely on sideeffects + let stop = cpuTime() + echo &"\n\nWarmup: {stop - start:>4.4f} s, result {foo} (displayed to avoid compiler optimizing warmup away)\n" + +warmup() + echo "\n⚠️ Measurements are approximate and use the CPU nominal clock: Turbo-Boost and overclocking will skew them." echo "==========================================================================================================\n" diff --git a/benchmarks/secp256k1_fp.nim b/benchmarks/secp256k1_fp.nim index 89c0ee5..ac15316 100644 --- a/benchmarks/secp256k1_fp.nim +++ b/benchmarks/secp256k1_fp.nim @@ -33,6 +33,21 @@ const InvIters = 1000 randomize(1234) +# warmup +proc warmup*() = + # Warmup - make sure cpu is on max perf + let start = cpuTime() + var foo = 123 + for i in 0 ..< 300_000_000: + foo += i*i mod 456 + foo = foo mod 789 + + # Compiler shouldn't optimize away the results as cpuTime rely on sideeffects + let stop = cpuTime() + echo &"\n\nWarmup: {stop - start:>4.4f} s, result {foo} (displayed to avoid compiler optimizing warmup away)\n" + +warmup() + echo "\n⚠️ Measurements are approximate and use the CPU nominal clock: Turbo-Boost and overclocking will skew them." echo "==========================================================================================================\n"