From 2b4d7f504fb69b28424a9771944bf56accbc97cb Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Fri, 5 Jul 2019 02:36:07 +0200 Subject: [PATCH] :book: Update docs [skip ci] --- docs/09_Benchmarks.mdr | 2 +- docs/Benchmarks.mdr | 86 ------------------------- docs/assets/benchmark/binary-trees.dat | 6 +- docs/assets/benchmark/binary-trees.png | Bin 11142 -> 11182 bytes docs/assets/benchmark/fib-recurs.dat | 6 +- docs/assets/benchmark/fib-recurs.png | Bin 9799 -> 9824 bytes docs/assets/benchmark/fib.dat | 6 +- docs/assets/benchmark/fib.png | Bin 8935 -> 8791 bytes docs/assets/benchmark/method-call.dat | 6 +- docs/assets/benchmark/method-call.png | Bin 10453 -> 10578 bytes 10 files changed, 13 insertions(+), 99 deletions(-) delete mode 100644 docs/Benchmarks.mdr diff --git a/docs/09_Benchmarks.mdr b/docs/09_Benchmarks.mdr index 0f81e941..92ad35c8 100644 --- a/docs/09_Benchmarks.mdr +++ b/docs/09_Benchmarks.mdr @@ -83,4 +83,4 @@ plot dat_name using 0:2:($2*($3/100.0)):xtic(2) with boxerrorbar lc "blue" notit ## Show the results Then just run it -@exec bash benchmark.sh; #rm bench.plot benchmark.sh +@exec bash benchmark.sh; rm bench.plot benchmark.sh diff --git a/docs/Benchmarks.mdr b/docs/Benchmarks.mdr deleted file mode 100644 index 0f81e941..00000000 --- a/docs/Benchmarks.mdr +++ /dev/null @@ -1,86 +0,0 @@ -# Benchmarks - -We'll need a bash script - -
- -### and a gnuplot script - -
- -## Show the results -Then just run it -@exec bash benchmark.sh; #rm bench.plot benchmark.sh diff --git a/docs/assets/benchmark/binary-trees.dat b/docs/assets/benchmark/binary-trees.dat index e88f80a1..ce3d7278 100644 --- a/docs/assets/benchmark/binary-trees.dat +++ b/docs/assets/benchmark/binary-trees.dat @@ -1,3 +1,3 @@ -gwion 0.187146 0.38 -wren 0.233171 0.14 -lua 0.31488 0.72 +gwion 0.18500 0.63 +wren 0.228810 0.24 +lua 0.31364 1.10 diff --git a/docs/assets/benchmark/binary-trees.png b/docs/assets/benchmark/binary-trees.png index cc8d6afe7158f3f50513dcfaee63c278623059d6..bafec9353609a3403260f15a9319c182cef8305c 100644 GIT binary patch literal 11182 zcmd6N2{@Gf-v5m(Mbwi@67_hBN>Pb0XhTJ$vhT^hXWwR&HhZB|wlXam46=qXBqUpi zF}9JhGxl{1{@;0?^StN%pYxpaf6jZ}b6x+rt`_c@d+y)w_gy~AH{^<@+U8Ayn-B!q zeDT8hs|dmxgdi-vT&(b$q8#-c_-CW*1p{{k;r-0~!}8=X?`{Oyi(EW^=DJS;tvm2a zjCbk!`q-u|XLw!*;l)|=_$_uCyv@+fXnuw@R|u8OX~`Dyd}7#U=agoW|L$75rdmdl zTf4CRVmdy@$|T>lE1znC8q&AgbhXyL*6V#nm$;Zi@Lt2)Lg7Del3reY>@usqbzj#& zef{jTo{}udlaSdjDw%nBU#eHJ2@8TGy?J~TL4u|qA{@wRgoOtQLRbZ02^*wfEnMaZ zvSCXZf^h8(VnMc?M%a+OLI3kN_SzBYt(j-fotr#KAB=Yy^^n(UV>`Wph3BOWacw?x zvUpNypjT*LpB(m- z@8*^)nMz(?PR8NT%L8$Et6#*#8lRsSnwZIVp_Dq1@NI3n)%&dLp1Eaq9}2xS(e?4k zVZ9!2N+24Ij#6A`f0v9NElM+09UB{io2<)8OJ9H2qDUXcVwP*oI2Zw}*r+{0HdZ%p zYCJz~RsZ6om6cUSMg}LJ@Z7?JlF!sjOAiv>B<8^7TZtc?yNj;9)6C1ypXe^u(~fO< zr{&#gp{J*3Wi=4JU%ih?EiNiDE?6ZuqP<4HzmJUMtqnxA57 zJjU8GLPJBpfB&AQm&rTl%dWbMRbVPNJe)^GdlNTzqGG(POOlM!3sHq)_N)}~>c~Cr z4GD7Y)_#6|QN^$r9sV~ZB@9!wY)ta|0vC#xv>9e~{$k7lgN!y|Z=XzLBER$X>(?Ud zOVtg%1)a2zkdQRpj8XSoEcP6>sef>A!NVzLR(<|_>RtCocbmo}MdjrhEf4ub9ImOUDKy2n#HVRqy!Po4_wLTY`uGgp zu?HgPVOwE&4_jJC-s_wwal(%dF4t}Mfh$m(6YcDWGd zb-ld2&YcVHcJ_AcX>A=yNGFYnX*}yKDu7^vC3kfht7vN`oN^m!els`cp`xv{&Twy4 znXD|HXuFZ^;o&jfT}<+v-J{^8FY#1KZM(`r35oE?$et{Vb62i>V=T}5@(EBkvG6dz zGBGi+VKC2u#ILfEo4eTmt*Uz?=Jf+U5%k2zp(LNakg~GVD%wX)ioQGD(M==xryViM zkA3=djSAadA+q-9(WBm_4Q<#crBOed^u<0C?=;dFfk5ycZ*QXYbU-+hhEh|+bFAy> znd|h-wzf8Eb<~4<_cBb17cgr>7(ZosDeEm|K}dYP7h}oIX0|=svgPgNu<-D4k|xCM z0EEAzuu?#KV#ZTRGbPW_?*#uvVMV|1Zp;3X+r%`-hlhs)UA7(2kP_gzckf<Y_2)a}en7hm6x3N|d^P;B;^e~mrp>+6eI9W%=`Bd$#pPYw->uZa9_Uz#ZF3*VJ zR8?jb*z&T;_SUUikUGblI&x)ud@L6yx`|7blJw#jcn%5utTJ<{x&*nL4g2Z1#)(f?qBA;GNOf{SMD?u54|BJaOch)-3-IlZ{K>C zvOFfSC#>r(XlXSzG(?7kz!@ue41a?_F7%ncA=}6*K>MylnPicwNqcidof{4a-JBv)53vWSmQ8WFlh^lC#@oRX*f4#f(x{cP$ zQofIPH0vN!LTjy2(!aH*UbjOhPRv$C?1tYn_ay2P1lAcx$Moc63S<(IF;n|SJr1v* zeO5b`xV}1x!$F(Dcxw0$C3;`iS%v@8Y}Y2&*D`T9k-)jfw@CG=eSLi@VLO&rRya90 z@Wvl!AaEL9nXQiMy?XWP$dMy(v~43EaB4nq3zRp`HEKnYKxJQD=yZXQdfzf)>hptL zMY|zUq2SiQ*OiIl#>U3U>}uhaxfZQNe`}WTi({nB`UI*$2@ zi_<%Q{&OQ{ZI({=3prkWiq&UM&UdE211bRCr1RUiNAdB+merBW=Jc(CPZrX~8?+HO$m*|~QVuKDMX9Xs=#{GsRV z78EoMn1-kfn67(%q5_jL`~XdulZkhN_d=c95jK$M-LpKJmbpVhU&^leHS~(AswykE zufd1@Nz8h&`;bJ?^x$)wr0h{P`aD zPWkwqlBVBnrQx!-^tG#3c{qZpZcy-QC5huSTHx&9<>KyAFItE1?4aCz`1hn;^Dos@ z_^GnGTEV-$s|)4U_c_C;K>h_hU1*Asf>)iK#bDj@k&%%KPd@>1Su?+CZbNELG#5X+!3BHeSWO>yRnC>{&BzMSHH&B!QC{F1Nla#q}_ z8$Jg_3t5E&zt+~q9Wfeo?7^(BLaS+b+hofa&uIh zRO7Qy+M#yACl+UBZfQb=1dPydfZM#}qx(=plA=F)CMJ2?wV+AAeB1(nCb!otMFx1iR2MC`$>T`aGzrF_+@szWvFQCvuogde^V>@7U20FAEu& z+1YbIOFv*ikhH~<$_nG{+1L*sZmlfPnBWv1JI9M==;AV|XX;zY zHgxAzD|;iCuuYqB)QKDt$>L&{Zef&T)2FhHahA@%Ol~mWrsIy)Wg z?b|YpykYBdbEQX$5M=c<5~Xze_HDqLc6N6A_U+@|AyF8(;&t(24I3Y7ugOm2rASpn zVmo@5dcjK;|eQ3nLp4bxYtl}gcnNu;MR02V60hRbozk< z2i9mVm|53)1mTIck6UY_!GUQ3y-LU9BO@XJ%4cK%&as0eTdQ|Lw+!XWI(K~=n+G%% z2!XcZc}3@mvKun2$~c^=$~EosX+}f!iy4cEqM!7kLth`4hNdj7tn7}c`t<3ncmDjs z0KTatizGm6UV= zHsw+>U4=xZ6$z9L!p__eK&mS%Tie=-77~;(O2>~kL!oGNB9xS*V6m{LNTh@Jv7mbR za-L;G^Ww#0&ov+)Bdv{$jG)3@x)iF=+4Ir;-G>h!I&BIOL}0m}?G(I0NlEF*kqkT@ z|K`npMMaaeR_mKLPpN7poO*?`N25!z%XKFj8PynuT3}$HzyAuvb{jPNt}X_BEVK3r zA5wPu3ujhTl$N%(_Vw%6&z?Q&ft@|WAji7- z^~LSmw*yOk_P~JyF@IDwvh(cpWqm|-Z|TO`+b*9#nW(t;Kj-kj;MCssr{RG%Rn;#USU@3l>vqG_3NAEci5pE+9M^*RxkqClcHurT^;=7Ed!rSy^o;MI{WHpPWORM51Pa$4IlNTBNj$%wT^% zPhb;dn3xNnkf^x$7yG=T1^o=&2vsa;%%5xz3=E*qBw?|K8l{ZRl*_ScL`6jtNqOF#rGfs?Wl95AlF;-K3*6U< z8_#%IkTQbL&p`k*H4a?6d^rM32Gk5CGdlWK<}xTGH8nM4fYq~&%9NF)G#pM)P;d}H zd+Y!!BE^6MeE<9b|E{u(i!iI*1g^|(?PC!|8>dg1;m4Je97IscVBsnD|B{enm?%lgnQ&X^a z&CSh#JQhzaXB6~Y<=?NM&^fA8dso&`LgV-hke*RoHDySi!0W6kA{Der2 zrc!73T+!L{PK?+57X{y|MRy)s{Mv_NwlYrs@_VQHUs3IT&re`>NVqq&J>hO!#+jVg z=Tmv1zgbP+sKK%cS8ZqNg@vpfRVT^nrsgQ>rvH?P`1|AhO#%8xo%A2%KFZ(_^qjLw zK_C*vL`OrAsHof{JMwPacuar?nB0il%>B)~K?uvq$;mV+*1dA&%GIkM%**dAEO_ye zc#yKaHJq*xb>tiyD8`~c|9mGnm`@nh-qiFsF|nK4zhC`nY+Rg}nApn73R77uyUmuD zmj~GI)o)d~pKWQl2@5qnJ3Bk_Es;nBgeV~~?sm)Cn)y?Xoco}Ligum#>{Q%Fs7%p( zy`!U}!^5_uq-W0ra>(Ni5d$FB9HvymwqqX#AVv~T0nd|!38pSNWJ4n(XtB_54j(>@ zLIr>T`CE%^G%7+Wt#jtd?gb4E4eyfta34Q@Oild)nvBmSHpILTkOgpqR(nrcwqb@~ zglZ;f@k1-nYfu^}{*#1i5ln!2H2{?5cIN^`Z%A&l1bX!u0gPLx+H~Ub=9Bi;vI6+4<;^BZ&Y;w_`j*U7r$*k|w%e<+$$d+x@Tply8J=jI7`YM~ZU$8uO>S5-F#+!E;%DXHY$}O!+mZ8I%BYWj|5N@g9Q0v17+XMX9C=&~|b$neX4* zwQu5tkc1-6y=fEl?)dol-Jtyo2?b2`mPbZLj*pKEi!~-IQ{32vwruIW-GLxmeuN-O zesi{flRyK)j!aIvNDFdvb1S+6c2_;{x1G}2#YLo@cQZ#YpetM3;kTFLkD8UD_)oGT zz1mQ!!z!C;=nubR(beuJx@q-aze2Ci(U$<_5tz&DU_I5z94Sksh9LQ5$H0X`JHV?7 z-V+HY9iD2wGb-{Jc`T|XxO=zzty>%>5Y)m0wA+?|(+o0nNy2HZxF*{Do zSy?kP0BWHZ&1Qpcc5^?1%!P^JgQ$Id_6`mv{td~>BD;2t3=Iw4#!|w%@0src*QRD0 zOG0$?jpNVl?d^r?L7adF7aJQ}KKT*!q*t#jfDHyywu8&lAA)E?8-$grtEZ)Cg1AC(6??VpdVgS0zj( zOm0i--q{v*yRvt0=})NtTrc~Z=JD@k#Q)SKllqyp5aN85J`d6f@H{y==BdTi04j}_ zaoWVgb6qD7k8iM40ZekYpRF(_=LCpJH;?OFzy7R#@X@0!!R4+4U!MqzB?FNLff{%( zXk)_oZAj3*Uqt>H1|4clo-AbL<>H!hO@t!8Z}|_?#wv{!G1rGa_kZC_$eOrA88Iz*D+#?Zpd0fK*SP>gwr{nwz7OlJKqeiIg1B3V%asR$&_u zb6a?(f5M=^FMJOhKMG;auM!d-eqF~C_;%6}NU-wg^({|R#FgnyQEQAL<;7F6fZOT9 z8F6ttUC69R6|&5v{Z;$^W0vWEq=f&OfEC`<3(m>>7>SdUbIhZtzrP>0==NnO^ST(@ znf{szGbL!!b=z3F$mHj-u{V!DKXm9&owfUg3lGc93qku15(C!IK_q?u-hcZV0*B!H zPbzu27IfiQ;9q}4eS(t#Z;20tAV8v_@Ov@MM37T~da=bjN(q2v2bQv|Q-{a$%z(wA z-4L40daN(O!oq@A^dt0G=YYMs;QirG)NeW8e^|ipXBi?0s;rZ(nrqXh4~7|dMcp(V zY}4>O{fs74>eScQ2O$~3UHuC@GUtQLdiF;JT=q*%u!Z-rT>qWEdNK&YeVsWAz=6Ef zO5*B`jpdK2xemC;Ha{=#No*__iaco0gmliGtLXaZ{s8NUAoruhSpS5wpb(QBxIktw z7)3=z&>6tkIO)))0hI+D0O3>IaGys&1gopxrKXC**@1|JLX`j@%+2+n&yBD>V}SUd z1j>S~GzUAoQ&%B0=|-&Ob-rJ}s8Jx0MQG>F#d(rh@n5yE#?{1j+QKV5Hxh&v2rPK{ z2VDDSBfuW3DUn4E0g>f>_U-dW+B&b-Gvi%S1 z^uZBsM8E{D0tmM(8!l#rV!`uIxa|~I>-X=u=v8`euX&@g6qj%%GFuLFtpEz*>uamPf=DAC;1(X%O1;upN32R0zkx?75TXrHT2c}nabfA1me>)*u%hmfh_0RQr?d>Nbn4!#UbT&vZtn%)tgm+KyLG;)RI>6d5Pesf_+mA79ALanZz}aD&B)o)x9ta5?g}2=cTk(-b!+midQ)5 z0q-90%8H6Qno4|UtxumW1J|!>MHeVvXv(vCYf?j;8QK8b)K%nJO9quV24+8eK=2hg ztjyDk);XRf-&73G5A?9eclK?Lfv)ab@k^kgDPReiZ~~|13YkY>A=QYZW>yiF`og;D z{sGJMt~N)R6*|3ivB#g_*a{A!)z?^1+caKC+kxaX!7tb2%8vSJ&#x->e-qoh*C(6z z^z`%yUS8BAcXoCY@3i{wKc_F2K%Y;ywzj6PtSH0-XSvQ_=_pftqGPB-psvrtiRVE% zDlJma9Ri%~)C3Hr3=Y!ibl9K#xC{UmJ9h0_4l`riK-7f9m}gv6Brh-DktcTGK$WA6 zf{SpG3!EgBV36FIUNVe8ltRR*#~mer+lY4uxAec0lyUU055zH>F070;URJVQ5u&*} z73TQdr%Jd=vZ0wV+tSizAK@{mk zzN0UUy`X2~DW_Cjx(c(IUbIm@iZNBOimIHxhX{u_$`~apI?KBc*1_l$bIJn7iC_Q< z27+K(g=u+2Ho@1?ppUkt8^|X*!ypQH3U-c;9wlP^n!j!7LOQ6lO7q{Z0kHv=2LoRd z;R~fQUC*WZZEp8$?lk~KLkniIG!Dcx*&2ViSp%~deQQ7b$Zgg+fRkyR1uifr1um2% zVXhfGQt!zgnn2*d6Fp~2Db2CZ6b@hfFOc|@(uP;0v6bR9k{Kotl85O<3JVJQQ34m8 zD5a}#=kaOxsL+(UBt-=YiS&|^uKG*&voud_9yjPNbh88p;MKVYekEsVZn=$lO_`M^ zeqlc0xWW9)j9>3}n6e&~!>b#rrrU4aQ4k$~SeYbqU9 zMR@troKhO7rM#NEf(^t+luHP=Rk;e(<%|vtYzN@GU|WmCT71SvqG{BF&xr*?TP=EE%7 zRsI1mP#TgNl~x>K_J|o}Fe%kRi*rgK-UpbE3c^NN{X|^3s{}J!pR21I!8vx6k(HHw z_xA1myLY9frBA8uNwy-a$WHk&0!!iZX4{bI!EBbE13Hj!CWh&4Y%xU8UyBmti+OLe#I}*87e6$r7pxIwK-C zHx~c{)B=rg`>HV0a2Lx*%|2Y35^2Mw2Z}kgfHFNrLjXNb7vpWQ$%brp)Wh z5IF-RH%xJP&X2aj=)=f79R@|f-}s2uQ!T()gL&`0PP7NujGu+F3*`bP;Dr5#Unw(w z@HOmFG2l_p0$;b%y}& zMCRt0np{ZB=O=8S_Nl6{{AcLNUrpOTf{SJAoUbjoFPd6-4$3jt15oiSjBq^vM8IcSH1}Fic zBw3O}Nv6nDk?SA2r{~Y~O!uF-)~~f(7VzrTz3-m0&))l-2bZ-pcGGjxBM7ql{JFDN z5QH)qK_~`yP{MC2iY^wxe>-oUyXKA{dp>RdqlgvSa{xgOA?MGY*7Zpu^r0^6lB&t` z?)sp06K!YUOn@|waT@%tzkkYI$89ac{*4%^safgsd-YY}9}pTCV%Wh*7*EPRU}DcpQx7`;9dokv+_ zyRWu({7G_hAijS0#Bt=293}ftZX=Dc0;vIQ0|P3GiW@5AMHMbWOX+ihY__qHk$$ex zt4;^omZa4dg;_a2xJ_jiyyUNcxH~sDm%8yoV0n2tvY6;xvpSl{BBXCu+|6blFt3eT zi_Xe|H}~8*jvYHzWQ#>tR^=L(&U6=N=jJw}!xK)}5~Xv}1jn$c=7l%v0!e*iV`HQh zd=zSJBBMohxu^t<-Wu2<47}D%eBJ55<3C-fvNa#&LRP$8h@q`5di(b6>q`l5{gx-; zT}eqv2pyxJuP>LP&sVe;F3&VtK-+7k+@|^2)eNoT;$lKyrGZXNdxkcNy`ZwP^6gtm zSd_9dy0Wszw}NnE8NGlcz9A_cirox8n2n&^7H4<^G8p7%Qa?UVVRhiFvvIa zB#qHOlAsnJw7+)k+QT$v7M7DnGA_OBoSY8W7H*0h!Nx*M%t0kyUfvTYPWW@dR`hjZ z78VxJ#2f3PS6v6t&gKDxVjRDAic_JXA6G#>G9%%1>(&CPh8(Cd*W*<3>C>lJA%i_- zB}GM7(_4Rxj4W4p52j#5>`n!%r(dh^cw^}{(e^4LBEqIL4lX05fTLc zUU&@>2n53u#WuVq=%T8M}`B_#q`F_1#HkeYCHy zFS12G*=6|CgO>DrVPOIS0%Id1#~$8-Uo^#u+1l6~f4HzZmYS`#Cf4u!{oA*1EiEn8 z{v>%c^XJcf7f0v0#p_vMITnS66%`c+!y!16FTE?NL@%_I53{Z-3p^)`r@^^VDn-T$%Ro zpH8jyn=Zs8%|2Q-uUagSPi|>yavW<(R+`BTTql%L<>@hx42AJ*&62lf;Z*UMC~Uk0 zuZRdi47GZZ>`yntK`nl$)}feNC8)R1XZm~L*RNmi-@ku)_pPaKBIf4inBk$1VWwRU zU2m-+i2EwNXIs-X2yr!m2~ze~Y;A4H>6%G$I{7#@h$zX<<>Ea-K|$ecVq1eDi~)gx zO-)UvzO1!MfGgCO5+wOlRLJ?L&8g)n+yLa-#>NKD%)fb6zewn*@U>fmwYSA;HWt>F zr`Accu1-!K*4aCm_^qt0zN`2pr=;|2W8>rFjZ0mU6@A~5Dco<}a&UCSmvp>Mr9$h{Hpt32{1kige{+fARQfr zTsa{nwX}>gAAnN>xM+XBXL}v1i(^yEYo9-VZftDq?KNSO?JaXlPZQKu*?hOz?`aNj z6#Mw`e8*MolVq;BzMz$lJSj^4`Z~xdJ(%{Fa0O#3g(UMK)}`P&I<+5eM4zklGbBB^T@{PqL6-0*(`b; zqL>@CF%PlPAtA{$nDWkx(A`yJt57Oz^v(|MM#R8HdE4bmD_;CC)HVT?)$@UY)n^k( za+E&PaP(G2KfhE}Rn5%$Tap!ey1S>dgO<{HCOqWRTkXuHI3uF@HE)?MEi4!nSe%Zc zxOm|LB+SBR-Y645*0i)?fcnKTtaniLwcKwa#wAq?jY0r#V%1A+7saYQU^9R3>wOY(OcqtX#4cN) z5zRJJ)65;yxxD)RvSG`m>kSfLudY_)qTVr*l6NmH|P zYMF>Refo5M)xyKLI9zk0tg{SM^6uVpcS1HiB5Bz7I=-O z^b+P|2*oO|Ps4KuqM&AM+>@P;o}8NUpX@lMrgP!q#oe^3QLO+JSIx}OPF<237jNF2 zyF;@J{=y~l7j>+tOYsYqUUhWs1oY_r=F2fg;UpCz%V)a@#Qrr_n0H_NMXw@ zfEGb>Av|`)MtXV#+juB;=W(9-^G`&Pkaj?j57kQWonPgd|ImYp2k2<2fK z>}T4$_vYfL=GfD0gM4{zp1&=BZ!@M2@c5WUC;^%t6BYFm29imBSEGu5j++V(4{vI0 zJZL-g@ZrO>v^03SYpbiv?9Nc3;p$bmaN2HlfV?>Xyi0(eKk`R(?S1x+7o~}EZfR!u zV#kjU^UB~aoIU$#q$#ear-u-}%^H$s#Rn=pn{YT>q0h?Pb#0ui^4?lYEIbo4eSKp6 z0oQl$-kDVSNC*i{J=WlMo3RjQZ)|FE?W?e6Y~|S;*Px)FP*0zqS;u+-xq&C!Tj4nc z0Jn%mZJiJiX>Mwo>NGH4u62Ju$2t9?w5g%tO>VAfk&Pz2G&C>(Nl?iMshiWb+{Zch zx3#xJte3hD1Z}P@Lz=txl!zQY{Jzi&*b&{HgDVS7V)^DZXcT#?zFz(PmD%gmbKi^X zTGKxK{DPvB14R?)BQS`Tn!IjoNtE(hCSEL%kb$pMxoutQGe2yJiHwbl(>Qzf=+UDq zD=SILf%1xq0iRNLhW1!6R`)TYRz7aiOIb#GdZY4N)~c!@n;)@d2AZkL)ddA}-wQ3b zxj~h0(I!<}WHGEMUIm3V%a3~W2=@M^xtT?HnfrCOimOt8=4AEaCwR;dzB10;OQVUd z7jTpai4to?Z2%7#h(T%~v1=R4JUlu&I&!WRjS>kx92^{No)ie}ZG_vOl8TCniRpx- zk80~3pg5t{jUF**7Wn1#gkdNWUUlF9Y=r=;AR>cxQ1Rthl zPSyx7obG(A4#J0dr1F!VUK&odjAl28q`Y7Xi+6IqS1Ksgbkt9CgtP8s8{{yd*cM1a z7D#ZK;6r?>O&1S)#GT?tyP#5?(m7`mg=dxe9aUwaOMMeaN_VkiNJvPrk@JNM7xeV> z%#{@6<%zQcDz5#Cx%vvu-R~d*QCq8HDZ(sB@b$wywWg+~fOY)QfbbujWWw&=1r!0a zTk2ljBn`+WHrK3m<^u>A>FbY9O(n+1uawqoHh+|+Ld4HzX|5TUqR8t5+mTUGAul5X ze4a=o0=tViAiIS@ZD4|X`peu@GuoZ|t5yl61Kb^2dU{(As7^5s4^W)Ea396;%2x8s z7X8Y2Yr2k(4sl73xo%)!z(O3fL;2g>xVSj=bl`w(=U8_jwR6#ogOih!|VB1hj5Fv&bo*re>TUS~l; zL6pkY%IC+tLqkKn=KKiq@w{?yuKrZ8h*ALPF(Bjo(G3>jNBQ^yfe-QOb0G-t8Rg)R zJ9mUx!`*?wx7ta8MoP`)zZ5?Q5ivS8rkyOm4D8O^vL=g3R)!9-5d1+UCn}m(Qu3{Q z8U(_{SALOjn`~4si{Ng9Z!Hy2y=my=ZS1rw*TwP^3Bi_7u zljr0Q^cr{}cj^!&VzC4}Us_s%qb-Sw)aCRpsF7>S{o<^t817`}afcK1)ozc=2L} zc51)l7@?;$Ro?SLK8}utCfBUmZ{bG+XghdZWnqrAh{gT-3AQuynudt_Vf4-3<$!mm9k?nFE8)M4=XrY9i8hkiK=JLEctDMeDxz#fl7la0(>3n91ANeXGA?{ z0RSU8(wm%|cYzsi-ZW5YQy{@ZBM%T!VPQq@851A@K0ZFc3f_m%L45^b;zvk|iP1GP zOL_8Scy?CBpEylLx2NOVw;<54+?h-W5;cDo;ZgFFI)41PjLbLm`0T8!I6D+D_+WA} zVRm-b5TZ$!xz0%@Dj)$td?E!X%OH#8<-5!I`1$LdWJqO&z1bkL}Ciy zY3S|)=&iM>pE153BS(%L z#1(t@RCqdGzdnQxTu<>GP1u*!IBIp*ivl@iuDGuj5)*Lp_3L`{_x^qtDNYcD>ytIM z*p%MhUeiji>bVcQHls}R^g6$O6$cw>NSF-?emwR7(bCqAii*O1{+yYe?Pzb`@a4#JYja8E>FqSV;Po7PNonSc-ohNO=e%$k>-Jt(GS{L63nC zF<%RIpar|{kv~f1(tf{-Ix$H}2gha;1Lo`42#%%BJzl^zL*DNN@d!m82sJztbi{r{ zd^8ik$aPtdD?|HWt)17xOAng#k7;TjXngp2S6t8i8{S=ToCig%kHGroI_<|AVa|v% zo`Mf0>Ctz1=78%#8rQOji{~|%El}b)epZ+NgqHj7fxzz-(%(t_|GSX-_EmVQsi~bj zc@j(*Az@*NRNx-7AJ_L*e_&~Ln)`bhl z#l*DFpPwg@QkDFP;M0L4p|UZj%7|k?YWFtK&4E_}aDKzmk`TVNwM859A~Q1+*V5J1 z1wTdBeg1q-P3Mcv;^(-XNbSuhzbT>9jS(ZiWH`9BmiGhxuWVlar4lcKJ}>-D-inHf z5*HT_B(wqi9b2F{$joe2XqaRSRZ~5^b;4uQsTiUTtP;q~*#`nCH(hJMTjlNnn4zUW zYLymBpW}yzVQ;B=plVMfi0^xPh={k`}tyuq-W0@BoiDQ z9Hzs;ZBtK|kd`ja-vSV9Xm0K+cEs%xs~UX631q-#fg&j-g&T_Hvvyr88OIr#(B`jS%voMo)M@&JWir`y^m3HoHkW2Wyj3+*0z z(6q%fcnzO;e}dyMiUtl%?(9Ecga1T!JvXPAfuepT`0#_l6C`+SU+oQbtU>>0{Uckk zvdE!32zS&Y^$B{!q8G39U$EK#usr??4!# z9TSC#p`j0G>Z+1*;a+9Jx z<&!%doE;qxOkW031oco*NXXIIxfzQU6B0^+g zTwG;gZdO(#Mkdkuek_8B3#OD&Muvw&3&PW-{N~V^vuE$7rl!&n``Hqi-a~ZbqXj7C zq@_EpBs)7gzO#W`icq(7aG3n60XC9@on8D1+m^3klt^tfR6g+c=jZ1^A;AejaR z68qCnds$h(f$3>vBp&(gm+q*Qsuf)0M&D9JBTGh*!zk*>4 ziVUpYRhbLG8`2}O-lw*uM5^MkN^Zzt9h>&D=5g`t@soI9fV7$Kvjom>6*Vg5=?mJAE%WEG`Zr2UuJb3&6cN!2R#C z(7#F_-!d%(3H{?zlp^bzvPmy@=uquPPfA4m(GRLW$+p76LZTW9g$j9pSy%U{F$-kh z1?AxE?CkXP^km~3H*S2fao5lY(>;$MkEB)+7iVXJo65C}cJL8PN@U(Vfr4SbK;cwu zMCU|-407Z7OoR9Trh4#JnCt0rMLEm#+@INn1atq$5B}?FF*G(No3>tjlB1Q20=X%> zifCzSN+(>BmX;>g5s6;ut?|#E9shM{(AC1@@gVO(PJ$~6_FrH?z`=ncw_nSFRX8ySu&p#L`5&KVbvp?6%)J30@?#+JpP|FY9@(E{vpz zaDb|NLf-o{O>khnpR_d>rm|FVoR6<=RjC_Xy1Az!u*F0FcpdnE!HNF4mThntW!alI z_Jr=@_wU~u<;w8!y~@gJtZwWc(7jP9|q1p^J(#TS( zV4$zxjc)Jg_;EV}0qGAA{JSJcbrxzWJ4hvEza=|3Dsb)tTYq&Cc2}POViWUQX#--b z40kOb=kMkirkFdrxu93D8Qdv@>cduts|mqG)O{`vPI-9uI$97F>2nrTB03kuqS zsR%AQnB)Nm_z;UPI+!tq=UK}n!MzRP-ap%90OGgI+GrTSar&w5hMP;FAt*cbjP~6Q2le#A zit{8IEC$1Z$x#gm9e;@JqiO_L$ogb&COGjla(C538PTtFmAu`kvMY~dwaJW z!ua_28Wb72kME2K@9f*3ikX9Fn_5}+Eibh}e9+{U+mY*+O;Qg~aSt3ux2>PVGL*4; zQO{+5?d*(AN^+7+0M7@C?zwaK&GKt*janvzSc@M($$s98*08tpE(UK8U+My9))iP}mr@jc0gfWQz=xfhS_d_{Y%a4Vo7qqR+5{$IrbT z#m*KNZIVN``T7e^_Qm`op+TLYUp(yp zB}0S##p&A)cKc$1pYQU5Yd%+VCKL9tW0R5y3>`!#IQJ=tcZy7 z<@6U}r!_;Tr=5UOVQyGiz1-emIj)6RE@9txRQ4MYODMm4nxpZ-hX{NRPRNvFToJ!^ z%`S;ISmWMb`Qy`NapM)5i8A-@-gN^1J<%0i4iX&Nf}-Z=?PKfjE6U9Le53HYn28Cg zRf7kt$gMS84ccE1x}zp0z5UhxJU)ZBA212j*VoSs)SwEMEd`^8R_5`I-V(j4fq{WG zHa6$ZeTKOu+DfleGtGPqPkY=y!m6-;UR6~znmVl6rbrV8GoUF|J`z{6@hVLaW^^{4 zI&szM&=nPylIjQwAdqFUaLsX|rt+{!@buOOS;P5+g{L9xOT~y~5-dzi_>mD7E-q8( zUqdsJ=dgf4MruZIWw|VelZ-JiGdnvwL&NyRT$RM;5{vhg>sImdo|6;p8U9Y4WTQ$7 zS6l z3xo8T%096++;24w5C*-4#KgqK#l_8yjUzil<-<$K=qci-u9)6%8PJ7694N{A|X zdwI7Zwhqh7`@v*Wi%3t2^VIyY(8}etY{x5CVCW~t{UVqk=gytW?+MzN$K){v4Sk@A zP{(gjq;l7=VUraMbePAm)Lkg08jp!9Dp*RTGFc92_DOSUf}f!hSW#IC^H|G%n-(}C zilv8aGEDEoUM?#;y(W)#scLini#7apM?*=}+C&E$*?7~mva&KzsZ+Ro1=(%ib^E?B zzh=r)4&!eQ#d*f1E%O?wve1F@82>3NOF%2BU^WxO?_!RLvURx>3ZrtYtgJIVrLzgP zDHFCofFz&Q&>$`E%iY2eKSq>OlNd(M4z0~|&Bf+1c%-<^3sY12=$`vqdOulz8NOP{ zEDbCi=#2teM?QtQ4TyIyaNt5XR|_%RQ}a`ac+zl846~Y!exAu2!A1xWuEg!e$<^1F zd;_-ncJNxCr71PHhWxec3}n3^(%u3e*%?dGLWin0Br&%;`u zkA{Y0aMcEW#oR8+`6A%FIEw8`qW9sScJ+K+x0karM z>)^7$pa3;BwIWP}Y>$QcPYWG6a^w9Sn(C(#gM%$ILD!6gpTYnJG{ZVE7y$^DeAm0D z$R?=_-UGza)Rk#RO@1&-5|8lm0&sv~`7P%feq~P>1+Lp9ks+}8)oIP6Wi89)t>k&G z;a`xowrH=DOrk?k*NigsR4mTIOxy1?KmR#>QcI??dz~wIZ_#}Tf!BF8t+RP&Ebjad D%g7ZQ diff --git a/docs/assets/benchmark/fib-recurs.dat b/docs/assets/benchmark/fib-recurs.dat index 98da6400..7ea40956 100644 --- a/docs/assets/benchmark/fib-recurs.dat +++ b/docs/assets/benchmark/fib-recurs.dat @@ -1,3 +1,3 @@ -gwion 5.3189 0.35 -wren 13.6491 0.34 -lua 7.3582 0.58 +gwion 5.2990 0.37 +wren 13.4991 0.34 +lua 7.3146 0.29 diff --git a/docs/assets/benchmark/fib-recurs.png b/docs/assets/benchmark/fib-recurs.png index cf675fc5e7bc45d363413e22d7fa142c947ff257..d3d56bec6ad3fed6cf4fada996cbdc7011429905 100644 GIT binary patch literal 9824 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%0Dag{9vEq6>OjARC1Y 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 diff --git a/docs/assets/benchmark/fib.dat b/docs/assets/benchmark/fib.dat index d0fa45fd..693519bd 100644 --- a/docs/assets/benchmark/fib.dat +++ b/docs/assets/benchmark/fib.dat @@ -1,3 +1,3 @@ -gwion 0.085745 0.58 -wren 0.216044 0.35 -lua 0.21337 0.60 +gwion 0.085201 0.50 +wren 0.210157 0.14 +lua 0.207941 0.43 diff --git a/docs/assets/benchmark/fib.png b/docs/assets/benchmark/fib.png index 99d6e11b686d67a57965edad5b47550c9f39780c..63a8cd6a6b229809615326c9a433fb43cec8b024 100644 GIT binary patch literal 8791 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 Yq!c2??524)5V%h28lT8MW_#mb09E-A!2kdN literal 8935 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 U4RwM@9YM}&>7C9viM#bb0Ea;*P5=M^ diff --git a/docs/assets/benchmark/method-call.dat b/docs/assets/benchmark/method-call.dat index 2daf68cf..22636cce 100644 --- a/docs/assets/benchmark/method-call.dat +++ b/docs/assets/benchmark/method-call.dat @@ -1,3 +1,3 @@ -gwion 0.091691 0.31 -wren 0.10818 0.99 -lua 0.25820 1.48 +gwion 0.091161 0.26 +wren 0.107611 0.38 +lua 0.25866 1.21 diff --git a/docs/assets/benchmark/method-call.png b/docs/assets/benchmark/method-call.png index 65076f521b5c110b467b360d10db931f7633fe62..ed8d5acc4deeb07b0bc27fc6c0d5320ac2fd4731 100644 GIT binary patch literal 10578 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 RWFzp>*3dim_KfwN{{e643V#3q literal 10453 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