From bc9d596251cddba21fd4f763c33ffbc60e2337b4 Mon Sep 17 00:00:00 2001 From: Mauricio 'Pacha' Vargas Sepulveda Date: Sun, 17 Mar 2024 15:49:15 -0400 Subject: [PATCH] slightly bigger memory usage with dplyr --- README.Rmd | 4 ++-- README.md | 4 ++-- dev/bench_endogeneity.rds | Bin 0 -> 14314 bytes dev/bench_globalization.rds | Bin 0 -> 18540 bytes dev/bench_phasing.rds | Bin 0 -> 17997 bytes dev/bench_ppml.rds | Bin 0 -> 17214 bytes dev/bench_reverse_causality.rds | Bin 0 -> 18899 bytes dev/bench_trade_diversion.rds | Bin 0 -> 18148 bytes docs/index.html | 24 ++++++++++++------------ docs/pkgdown.yml | 2 +- docs/reference/apes.html | 2 +- docs/reference/bias_corr.html | 2 +- docs/reference/feglm.html | 2 +- docs/reference/felm.html | 2 +- docs/reference/fenegbin.html | 2 +- docs/reference/fepoisson.html | 2 +- 16 files changed, 23 insertions(+), 23 deletions(-) create mode 100644 dev/bench_endogeneity.rds create mode 100644 dev/bench_globalization.rds create mode 100644 dev/bench_phasing.rds create mode 100644 dev/bench_ppml.rds create mode 100644 dev/bench_reverse_causality.rds create mode 100644 dev/bench_trade_diversion.rds diff --git a/README.Rmd b/README.Rmd index d112205..598c731 100644 --- a/README.Rmd +++ b/README.Rmd @@ -124,7 +124,7 @@ Median time for the different models in the book |:------------|-------:|---------------:|-----------:|-----------------:|--------------------------:|-------------:| |Alpaca | 213.4ms| 2.3s| 1.35s| 1.86s| 2.59s| 4.96s| |Base R | 1.5m | 1.53m| 23.43m| 23.52m| 23.16m| 24.85m| -|**Capybara** | 323ms | 3.24s| 1.47s| 1.84s| 2.44s| 4.56s| +|**Capybara** | 337ms | 3.19s| 1.37s| 1.74s| 2.66s| 4.65s| |Fixest | 67.4ms| 477.08ms| 95.88ms| 136.21ms| 206.12ms| 415.31ms| Memory allocation for the same models @@ -133,7 +133,7 @@ Memory allocation for the same models |:------------|--------:|---------------:|-----------:|-----------------:|--------------------------:|-------------:| |Alpaca | 304.8MB | 339.8MB| 306.3MB| 335.61MB| 393.86MB| 539.49MB| |Base R | 2.73GB| 2.6GB| 11.9GB| 11.94GB| 11.95GB| 11.97GB| -|**Capybara** | 204MB | 231MB| 237MB| 244MB| 258MB| 293MB| +|**Capybara** | 210MB | 235MB| 241MB| 249MB| 263MB| 299MB| |Fixest | 44.59MB| 36.59MB| 28.1MB| 32.43MB| 41.12MB| 62.87MB| # Debugging diff --git a/README.md b/README.md index 1778c4f..02d9bfd 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,7 @@ Analysis](https://www.wto.org/english/res_e/publications_e/advancedguide2016_e.h | :----------- | ------: | --------------: | ----------: | ----------------: | -------------------------: | ------------: | | Alpaca | 213.4ms | 2.3s | 1.35s | 1.86s | 2.59s | 4.96s | | Base R | 1.5m | 1.53m | 23.43m | 23.52m | 23.16m | 24.85m | -| **Capybara** | 323ms | 3.24s | 1.47s | 1.84s | 2.44s | 4.56s | +| **Capybara** | 337ms | 3.19s | 1.37s | 1.74s | 2.66s | 4.65s | | Fixest | 67.4ms | 477.08ms | 95.88ms | 136.21ms | 206.12ms | 415.31ms | Memory allocation for the same models @@ -127,7 +127,7 @@ Memory allocation for the same models | :----------- | ------: | --------------: | ----------: | ----------------: | -------------------------: | ------------: | | Alpaca | 304.8MB | 339.8MB | 306.3MB | 335.61MB | 393.86MB | 539.49MB | | Base R | 2.73GB | 2.6GB | 11.9GB | 11.94GB | 11.95GB | 11.97GB | -| **Capybara** | 204MB | 231MB | 237MB | 244MB | 258MB | 293MB | +| **Capybara** | 210MB | 235MB | 241MB | 249MB | 263MB | 299MB | | Fixest | 44.59MB | 36.59MB | 28.1MB | 32.43MB | 41.12MB | 62.87MB | # Debugging diff --git a/dev/bench_endogeneity.rds b/dev/bench_endogeneity.rds new file mode 100644 index 0000000000000000000000000000000000000000..85084c26178f07bad6c5cb7ef3b9caa35f3f4d9c GIT binary patch literal 14314 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
  • @SkJyNB0P<_BTX6voXQeR2o4M=rUQSDzU`uYvmH?ouDp1ma-i2!Vd198dy(`zd z>R4(d#pKJdb4WiY3mNE;6VntdmTV$@pSVI1CLo~@+%u%MSoLW34IR&?JAklmLi^TJ zP}Njf6?8{eCEQI{jp7OfEI@N!B|DwYPUzjlvNL9~Vd3V9ZO_wHwQS1x+&A))_qw%x zn;@4R_xKhRG)XoS?*uz zkx7@b5Ki@)pB?Z^ekUP+6Yl+GHoG@urmO59i)WkAMA0kHy^wgpPy4ZoXvbP*?{FF6 z$8wDwdLO83Jf^i@l;!=EeMlyN7aD#9a}3A0U%-u!YzV7}A!k8Gp9mjo|w zkC!=`^Y=lcNWj0bjR>m|e#Dq23{(QJ z2<>{~dTe|RPoT2gp|5o087cm@cz%IwjI;M&PbivHCy`tMhJ`{83LA$IljOXKi2o`EB9Sny{-P87Rg z6#mAveL(6NfYxT5o3AS}0$Y+o;+CtZp{-TFCSeP%&EGgEalX7nd(Fb5%;BVMRlVGK zeQQ!v8^3uPISJ}!e||HIoD3Qpnw>hFfw9?%#xesj4{Igrnbksv!2nm=w8t_;d;S|3 zo%+1L<4VRD=@+Zq?Wo=I<7_e{qOwQD|B^CqBu!1GJAZ+artEFCx)XWR==gDZkxFn? zGx?Hzn6y5bkz{UmpWO+fejFP+U~^nQJ09Q293-|Cj&B!FjBNX1`j`GVuz*7JoN5`2 z!+%Gg>mFV)`rIAA-6x~gbwh!qky<}hsVqsFY>EmJ{(MW`Z}&lpjvNJQ*;`GpXzGVF zcbwjDIABb%8M7Um@d-bRUVk$8rFvxD-Bs)o!Igzmul6iEtp3;Iul6kMry10HtJd$B z#A(#(1anMKpV#j=-DCXSf9nLVnu##pbNwXWmMFcx%o10h5 zqKaWSsRG)yDJp3GiI}a!+^BV;ms)&NO?lG9_zYi&PeBTjfcL<2tB%I5GdO(rJB>lY z(SX`D%HXv0`S#~*0)+7@vF+aWKCt-Mq}LrP*%w)=j`8nR8_!tF7Dsb{=$-0}uLnP& zY1t|<&WI4ZqV~w6B*|k^jJKAybLj5ltrnH6E?AEGDb+kHAVtm-_y>;FqKo#u4Yv4}C8TXG4LJ)@ z^X)$2b!;Is2~wN_Uo7?O%5%7|S?<76# zFR|*|-{;`E-Fv(0FQr5EC8$?MAD;XLzpV_)#}S~TRpP(dCCUgs!D!E zWM6##Hk4J<6Uu1DP-ZO7H3fU-lv(wD&*PU55@pLyR+it!rj$@Cl2fzPiHd;olGu1=Cm7(_E?QCGTRKJK)9V8xEsWHI6 zx>69Ve>Tqb!(Z(}n^*l$_2SBwdahq~aw<^htw;!4r%@ZI|E>vfaF>^c|8HY={Vck0 zkbd{}x$13RquN=Aj^47>TkP>W9^3vFFcyV{sJRHje;x$02R$Z2o};Fbb9F2et|C9< zVbspLp|k?_d^5$*hEMH5nAGttw7&88|6SL-tMkTfl$m9CGVhi~6<Y2Fgq}vB# zlgAIx4P78;7Dc#KUhDXuM)tpZ*$3JEf3?TJf;i&Alq4lfI`8(x$G9f)EZV^P{Vv^0 z#|yRqa=1rK4a!XBzH%bh5E(KbabopO?+on0kRrlk^Ekf@V*4oKVf>P{gHB8SZ8MI2 z9DiYw)WU<_RsRfyuifdbp)||G^m&|m`jyy`mN|S_>WSHBTuuNq$kAfMwAZ)q&tDOc z=OwrQFXG#q!y1aq{!1`UwkL06icPXf>|c$VzfwRbh3h&)WUfpegq5=fYkrn)IQS>` z5_ADL7I0d1+<0c$$yLLLRt?xSmaag=^`P%Ch@W7^?gkUL3m0~66B#zyTtppL5p9P4 zOU=RV+g-%Qh-K0o=IC&lD64|a&$zpOAI^e!r{hc&x~wLpMNHl&!EURogM#qcVS&nepE}j^jY}74)s=30zNlakga7CJV9a;do!ox+cQFlr$To?&-LSz7 zKKcT?iJr8DX9=?g-_O5RUX%3wF5HXn2g5BCP6YMTyW1e>)P@>q%|!xNiUHK-DcN+W za)hl*8oCxD2JG9V%!UrjYO<}ODN-Z9g}2>b@iQ~f?n-{kIL{rfuSVy~DKNzh72WRV zc@u_1p6CYO&nuzp_0?)|t2TFwTfN%--)d%x#&c>%vnI^Wfm(^T6?K7l`zwQ9+^z rnwM9aC1(1g47GrWd*GQ$eg?+FE_cF2{UE1Y2{?YCPP=tt^OFAp%oSj> literal 0 HcmV?d00001 diff --git a/dev/bench_globalization.rds b/dev/bench_globalization.rds new file mode 100644 index 0000000000000000000000000000000000000000..5d640cc7713618434a5d2ce5b2365d041624423b GIT binary patch literal 18540 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 literal 0 HcmV?d00001 diff --git a/dev/bench_phasing.rds b/dev/bench_phasing.rds new file mode 100644 index 0000000000000000000000000000000000000000..2e1381a45bbc7a14011117c27b178af0c7e79978 GIT binary patch literal 17997 zcmeI3c~n#9w!o{l(pCYj11dvoMNv?rqRbE#6%m1Y6)-5o5d{Q9#t*hn5p!elR*T*LV%)2XVLwr^pr0h5oR=eOqQIz|=qS4dRdr@b`9+()_A$BY?KWU!l z{Kb;7`jbCpO=XrHuH1s%<0|c*sJkxfBe_eIA28|FWd|Ywu0Mu`r{Ll2L&Dcbl-mc5;CrY%f zGoHZ%gmD(qfGwl@{88~4%+9zYb4>y!m(5KHJr#VPe~8OF+h^)p(${mF)xz}Vm3O6j z+6bPHl~ zqcrYv5=`cm^j^}L6>hpa>@^i78EosBf&df9*8HL&A&4MCqA!Vi z7Z471bNwY5WKk_c2;spCtV=3N0AQq$%_9Lle0c=G_q@duNiYel3(kqHaS0_w-ca&2 zAdOT&fYItEdw?X35O&l|1JTS4BuuJ6noumD7`&ji)r4bXF?D?ofrzNubg6%hZ|LUG zh~5|q(?d#&sx6hf@{l9WHT@g?@ff66EtnjSkV$9+7^hg8s8QMa^6pD|ig;y2->SZK zU5cPjidnomdm0=?vgNER(3H{OYN9>uAPChL(vXU6&5sJGr-d~5yFyuSo43;u*OF{F z4nmP^;CU(GRwOS_Gb^b<8B`O4(3b+J2fRa(nv}7b_V-ks78pSE<&0^^#&}C@~ z;1KU|^(W(q8sDlt*$rCN%fgLHo;~fIs#HRnDe>ifQ`1VKtQ-4fVu4kCA^I1StUrzF zlnfT}2xL}alztDA!Xp4o?L}mg|2nbI2LGDU>WGQcM$^vCE`?FWGPxE|sT`b8Ow(!w zh-aZSOHL;t*|TiIBVmM7Vq#0HNSy&wM`HmR(gunbBKT&I=2!uh36vrYW`U3l zl~Gk42%`Nt6gi;;wfyp5r~K3@jcP#Ds)pl?MDrs<-ePAFTVROG&;XEmD(NAS#pgK6 zI(mXpWPGzD%BuvE4kRxNJ@d=`{guXa&!?Nv2_*FH*^Ruc1`{g!S`LKDB$=4BYL5Ru zx`Z-ea!8^~coX8Rp{tXaog{Eka#HjJ(hsXdU`YUbP>AICk++Y^$ar81b4a7@h2Pshl zamkV^{X+aC2bY<&f0*+@@&E$t=V7lXPdCu=^ZwFoPh*n!=RwMW4j1W*%)dWGRguUe zbhZ6hbeKkX3?oa)n{KfOSUt?**Z|FlsBEjj;_*PWTwL1Y7wO{`Q&8c);xT44Q8ABJ zR}ZR>6>*?1MC_(XPOy(RE4t#DLD_V@du)ZF(^_K031L{Ddyf84#k0z}8KSM5H$Cj0 zeyW_CtCuB9pl24&b7NN-zULbIT0}hbiqpFY=|Rsr9-wykHd2cd-z~sV&*t~VK#zi& z;A1~!01D}V?`npNtzM*Lzje=U>Xps{=SgWVdt?XXp_lFA+3)Qy6$Yh8^e5e5TE16T z1kY9~mnA7ZxL)qE=LoDrSXmjP((zG4@?d>?D!l)Vy)6G}Ny5~#IL1`-LgdvJ$FQo) zR#pnsZClxNHBNQf-H=4D?o+~+v%V$W#aS>1J(u)>!60&=5?W{JM`(3dTGUU$cA*ox`$ zF-8#!s}L3m2qH_*GKUDr7e# z8(cb8!#%a#2d=l|KO1j9l*dr2_`!8KZfXH}3q%2Z$P_3^HiuwdCUVySZkw>VTN93e zpvEEt+G_q@!h9fM!=PuD(XpKVHtbXIOuVguc6kJ4-=)Nf>(Be zIFuF7r!>rdXcdmoJThNr9yp~ZZ2caGw~g7e7|}B%T-(&(cZbCcINz#~%PL5T1DGyK zL^?f+bMS-7Qt-%!)kk-{{CtH@=otLV{NTCASJJ0LQ7fyx3O9!rSPq345*){d4z_@Z zM+!n5Sf)L2U)y8N>Ot`f$%f1=)idL(lLvz7hrFqyebK{fHimXoTc+>x-yP7oX^7rM zog5DwTm>z5iY8VjVGvjf+`hVtW*VzbBd25S)?_0j9BP^%=M*Fp>kz_f*n+1<$B2#V zYRPxOt*Xuu(MLd=>s6T$cOA)#c7qy< zwz?0cWb@){@Al?`)F)cj(qbBq9~eR$+|`0L^+m{52B1tnP`t|wHyIL*&0l@SxT})a zazml__dpRb@yg(7x;YfCK--Zq$8Ra?T!-V8-BrmqDhMCkGG<=RFDk9TwS)22zEUu^HqWS5~Te25o_8A+*jio#2Y;U^J@ zx80!0S*~f2Q*_k5*Eh=_9I(dsLo<-wM6y<|QRf7?LD+QisHKM2fBUrmcP*>_nzb z3h@hhk5UY}sb}l7FU7oun39bQ$1ta`kz0&oYa|*KVLcX-69t!>yN}X?<*-y$)!{9N*5Pp{Zaa1D#`qo;v&^lHZ>2; z;zlDOy|AOBwmt3;2=`t+C#R*)F^$Hv*1JR|-0zj#6vrI`cTAo-O3%#t zB~HIf!qqr-aY1GTjUCAY)<{@@y*(Qs~l{Jht=ZDuYqw7hdu_6wkA<@AT*vobl#-sDyFQYgeVc1!ZRsc%39sGMio z6ncL46d z7=@nIl!+f0D2)@r!y7eO6pydxI`jAKZ^>oc&8n<+E0~yZd?fVLTs=GYL?C)Qo@m`@ z)R`VV*WF~LvbaMN=P1SE?`UI7nnM*o$3f=a8l}@z2kbgv7|%BT*tGq%F{*5je!se% ztnO^q)T6>X5b!uxLIQuoxfn;6x#J5j6-Be&$8EQ&e*W{ftCBxBM?ocqr1NfF5f9!6 za~HwR-dxo>`Lki)ac^hIhrfy?)g_plt9(zMMXntIZ>T-(0h<3>YXZFNZ^nEYUF+)% zTk^>^ubb zBjatVEx3FMT*DJD{0g@nPKr`h>|3M|;#?jQXm=tY#e~wrxp=#`h6k2xp|@G1ztDh| z8J3T+tv$jwg+08iU~#AOJmadX*q1z8$UBvhz`1V-&)%Pyq5c_ptz{-#^JfK-g0#b% zJnP?PZScLHk+zw{$hY<`l!Vd`bYPrHW zUrA-t#qIG*v?V>S!d|-F3OzDIwjZK?tF5VOrb#>J_7^1-D`pJM!EbL8b}&Hb;i@$G zq+vm(THe_;|B`!^oeoCsTG8-=+G+r$c*ESZ=?MIv3HZHCs6bq?y9M(` z5`i|(L8!^nE}}xjbq!_TMNjh+z7J13cJ7zL7j%F9*7=n$)DnhEx#6PR_1?>e^sbsQ zEv1Wtb2c)fIwaJ6!zTuL9`)5RWD`H1VMc(9U3O8EeZZGHA1Pa}Z^o^jnZ^EzRBeER z_NOG?D?ga!OQ~w=8m)1v0gJAGyI$9H1at&+1at&+1at&+1at&+1at&+1at&+1at&+ z1at&+1pep*R;Qh;>Q?!zd+bTL#jus7s+-)=H54H4N)y%D#^e>If)w~SpJz$RhYirL zx`6OpKK90C=**ULh#`FVjYE-)GhZoJz93EqH12Qm{ro`W;JM%C+^Ak%!-IQ%dFxs} zW^Wv}<^#BDVwdpf>d1ThR8eo%F9SS-J_B(U92;Ic0IgDn+ z=SLh$+1s?iKsP|g;eYgpo1QW{cvtUUWM9zwJZqkH$Bt`(`w1eHkW(SK$n>rWd}Ym2H6>+WDjbI=nT;f4TSoXPJx~8Q*W>N(4)OqEro(<8 z0c6|gK4l=0Nt7Z%q+kt;2Gih>d*B@n0xm?bS##lJ&QMCdV`_tR^`7LGfCg`h7b#RD zyQ~rujb(1Ux*QHt&SOavDx8MszW(O;V_Etwu6Q55{(DOgFQ-BD>~gPLpu6O890{0z zgMm1_IOcb;VXzAgNTXXQUUe!oD?!F%Z)^n=+3%|03d)MPouh;XEn;i}-p~Idy>=Ok(rXU&&HHQ2sBJj;lGTbu=@W;34GND)McXTfE zd4IMiVzp^7k-ktmH!=Mr1?w=G%(*X9YJtca?cXMe=6Mb-o*ejs1d>uydg}+{g^w&h F`w!o3TJit@ literal 0 HcmV?d00001 diff --git a/dev/bench_ppml.rds b/dev/bench_ppml.rds new file mode 100644 index 0000000000000000000000000000000000000000..9f792e12c9c214659cb3fc1a6326125967d0f930 GIT binary patch literal 17214 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 literal 0 HcmV?d00001 diff --git a/dev/bench_trade_diversion.rds b/dev/bench_trade_diversion.rds new file mode 100644 index 0000000000000000000000000000000000000000..4d0a6503fdddcbacb04e9da8a9473e55592ce49b GIT binary patch literal 18148 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 Capybara -323ms -3.24s -1.47s -1.84s -2.44s -4.56s +337ms +3.19s +1.37s +1.74s +2.66s +4.65s Fixest @@ -237,12 +237,12 @@

    Benchmarks Capybara -204MB -231MB -237MB -244MB -258MB -293MB +210MB +235MB +241MB +249MB +263MB +299MB Fixest diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index 8b56977..1816b77 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -3,5 +3,5 @@ pkgdown: 2.0.7 pkgdown_sha: ~ articles: intro: intro.html -last_built: 2024-03-17T19:40Z +last_built: 2024-03-17T19:47Z diff --git a/docs/reference/apes.html b/docs/reference/apes.html index 5ac0f0a..11a9e61 100644 --- a/docs/reference/apes.html +++ b/docs/reference/apes.html @@ -186,7 +186,7 @@

    Examples

    mod_bc <-
    bias_corr(mod) summary(mod_bc) #> Formula: trade ~ lang | year -#> <environment: 0x63f078fddc90> +#> <environment: 0x59a470a1d000> #> #> Family: Binomial #> diff --git a/docs/reference/bias_corr.html b/docs/reference/bias_corr.html index bdd3349..bc1d8e7 100644 --- a/docs/reference/bias_corr.html +++ b/docs/reference/bias_corr.html @@ -146,7 +146,7 @@

    Examples

    mod_bc <- bias_corr(mod) summary(mod_bc) #> Formula: trade ~ lang | year -#> <environment: 0x63f078664628> +#> <environment: 0x59a4700a1fb0> #> #> Family: Binomial #> diff --git a/docs/reference/feglm.html b/docs/reference/feglm.html index 376fe4e..86b2cb8 100644 --- a/docs/reference/feglm.html +++ b/docs/reference/feglm.html @@ -162,7 +162,7 @@

    Examples

    summary(mod) #> Formula: trade ~ log_dist + lang + cntg + clny | exp_year + imp_year -#> <environment: 0x63f07918a278> +#> <environment: 0x59a470bc7758> #> #> Family: Poisson #> diff --git a/docs/reference/felm.html b/docs/reference/felm.html index 0204cbf..363ba35 100644 --- a/docs/reference/felm.html +++ b/docs/reference/felm.html @@ -116,7 +116,7 @@

    Examples

    summary(mod) #> Formula: log(trade) ~ log_dist + lang + cntg + clny | exp_year + imp_year -#> <environment: 0x63f07976cd18> +#> <environment: 0x59a4711a9c38> #> #> Estimates: #> diff --git a/docs/reference/fenegbin.html b/docs/reference/fenegbin.html index 6a7b5a6..b676a2b 100644 --- a/docs/reference/fenegbin.html +++ b/docs/reference/fenegbin.html @@ -135,7 +135,7 @@

    Examples

    summary(mod) #> Formula: trade ~ log_dist + lang + cntg + clny | exp_year + imp_year -#> <environment: 0x63f079f67dd0> +#> <environment: 0x59a4719f1968> #> #> Family: Negative Binomial(1.1839) #> diff --git a/docs/reference/fepoisson.html b/docs/reference/fepoisson.html index ee00790..ac7bc4f 100644 --- a/docs/reference/fepoisson.html +++ b/docs/reference/fepoisson.html @@ -122,7 +122,7 @@

    Examples

    summary(mod) #> Formula: trade ~ log_dist + lang + cntg + clny | exp_year + imp_year -#> <environment: 0x63f079327d80> +#> <environment: 0x59a46fc7f578> #> #> Family: Poisson #>