From 1843f061284e658e976d92003834e935e2334700 Mon Sep 17 00:00:00 2001 From: dumerrill Date: Mon, 24 Feb 2014 16:53:24 -0500 Subject: [PATCH] Adding perf charts Former-commit-id: 634c3906066e5714e9d7ddd2b8898863981b89a5 --- docs/device_perf.xls.REMOVED.git-id | 2 +- .../performance/lsb_radix_sort_int32_keys.png | Bin 0 -> 9414 bytes .../performance/lsb_radix_sort_int32_pairs.png | Bin 0 -> 10668 bytes .../performance/lsb_radix_sort_int64_keys.png | Bin 0 -> 10924 bytes .../performance/lsb_radix_sort_int64_pairs.png | Bin 0 -> 10552 bytes .../partition_if_int32_50_percent.png | Bin 0 -> 10724 bytes .../partition_if_int32_5_percent.png | Bin 0 -> 10722 bytes .../partition_if_int64_50_percent.png | Bin 0 -> 11019 bytes .../partition_if_int64_5_percent.png | Bin 0 -> 11105 bytes .../performance/reduce_by_key_fp32_len_5.png | Bin 0 -> 10395 bytes .../performance/reduce_by_key_fp32_len_500.png | Bin 0 -> 10544 bytes .../performance/reduce_by_key_fp64_len_5.png | Bin 0 -> 10277 bytes .../performance/reduce_by_key_fp64_len_500.png | Bin 0 -> 9893 bytes docs/images/performance/reduce_int32.png | Bin 0 -> 11425 bytes docs/images/performance/reduce_int64.png | Bin 0 -> 10810 bytes docs/images/performance/rle_int32_len_5.png | Bin 0 -> 10672 bytes docs/images/performance/rle_int32_len_500.png | Bin 0 -> 10635 bytes docs/images/performance/rle_int64_len_5.png | Bin 0 -> 10627 bytes docs/images/performance/rle_int64_len_500.png | Bin 0 -> 11120 bytes docs/images/performance/scan_int32.png | Bin 0 -> 9649 bytes docs/images/performance/scan_int64.png | Bin 0 -> 10591 bytes .../performance/select_if_int32_50_percent.png | Bin 0 -> 10808 bytes .../performance/select_if_int32_5_percent.png | Bin 0 -> 11178 bytes .../performance/select_if_int64_50_percent.png | Bin 0 -> 10624 bytes .../performance/select_if_int64_5_percent.png | Bin 0 -> 10913 bytes .../performance/select_unique_int32_len_5.png | Bin 0 -> 10186 bytes .../performance/select_unique_int32_len_500.png | Bin 0 -> 10970 bytes .../performance/select_unique_int64_len_5.png | Bin 0 -> 10966 bytes .../performance/select_unique_int64_len_500.png | Bin 0 -> 11131 bytes 29 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/images/performance/lsb_radix_sort_int32_keys.png create mode 100644 docs/images/performance/lsb_radix_sort_int32_pairs.png create mode 100644 docs/images/performance/lsb_radix_sort_int64_keys.png create mode 100644 docs/images/performance/lsb_radix_sort_int64_pairs.png create mode 100644 docs/images/performance/partition_if_int32_50_percent.png create mode 100644 docs/images/performance/partition_if_int32_5_percent.png create mode 100644 docs/images/performance/partition_if_int64_50_percent.png create mode 100644 docs/images/performance/partition_if_int64_5_percent.png create mode 100644 docs/images/performance/reduce_by_key_fp32_len_5.png create mode 100644 docs/images/performance/reduce_by_key_fp32_len_500.png create mode 100644 docs/images/performance/reduce_by_key_fp64_len_5.png create mode 100644 docs/images/performance/reduce_by_key_fp64_len_500.png create mode 100644 docs/images/performance/reduce_int32.png create mode 100644 docs/images/performance/reduce_int64.png create mode 100644 docs/images/performance/rle_int32_len_5.png create mode 100644 docs/images/performance/rle_int32_len_500.png create mode 100644 docs/images/performance/rle_int64_len_5.png create mode 100644 docs/images/performance/rle_int64_len_500.png create mode 100644 docs/images/performance/scan_int32.png create mode 100644 docs/images/performance/scan_int64.png create mode 100644 docs/images/performance/select_if_int32_50_percent.png create mode 100644 docs/images/performance/select_if_int32_5_percent.png create mode 100644 docs/images/performance/select_if_int64_50_percent.png create mode 100644 docs/images/performance/select_if_int64_5_percent.png create mode 100644 docs/images/performance/select_unique_int32_len_5.png create mode 100644 docs/images/performance/select_unique_int32_len_500.png create mode 100644 docs/images/performance/select_unique_int64_len_5.png create mode 100644 docs/images/performance/select_unique_int64_len_500.png diff --git a/docs/device_perf.xls.REMOVED.git-id b/docs/device_perf.xls.REMOVED.git-id index 7f4757f08b..26d37d283c 100644 --- a/docs/device_perf.xls.REMOVED.git-id +++ b/docs/device_perf.xls.REMOVED.git-id @@ -1 +1 @@ -9352e3c0c341ad3de408f843761467005694aba6 \ No newline at end of file +2a322a3b9d7726282a4d8bf675a3ecb0e191b7c1 \ No newline at end of file diff --git a/docs/images/performance/lsb_radix_sort_int32_keys.png b/docs/images/performance/lsb_radix_sort_int32_keys.png new file mode 100644 index 0000000000000000000000000000000000000000..631d04276fc64eecbd4899a053dfc043392f8a66 GIT binary patch literal 9414 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 literal 0 HcmV?d00001 diff --git a/docs/images/performance/lsb_radix_sort_int64_keys.png b/docs/images/performance/lsb_radix_sort_int64_keys.png new file mode 100644 index 0000000000000000000000000000000000000000..27c23f3316abd187a5a2cd50c995410562aadd8d GIT binary patch literal 10924 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
|8|VyY2K1G=BR+$N1yay<+g(w;xgA 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 literal 0 HcmV?d00001 diff --git a/docs/images/performance/lsb_radix_sort_int64_pairs.png b/docs/images/performance/lsb_radix_sort_int64_pairs.png new file mode 100644 index 0000000000000000000000000000000000000000..bafcd85d4298494a60831041e0b0a81d1a1b79ad GIT binary patch literal 10552 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 literal 0 HcmV?d00001 diff --git a/docs/images/performance/partition_if_int32_50_percent.png b/docs/images/performance/partition_if_int32_50_percent.png new file mode 100644 index 0000000000000000000000000000000000000000..08400d4265f3418db17758454f792619e9f189be GIT binary patch literal 10724 zcmcIq1y>wRumwVJmn`lCmk=ztJHg#ug1fuB!vaATSR8^|aJS$P+%-sW4S7rW-Z}3N zymMyHY|r-e^mJFzV{-)yjqHBx-e-mVO06wun>$ zzXNU7N~#%R9(x9tWD8)$YEb(M`w>^m(hi(ZZM!~~+wP8pq-#5NrTk1txC;VRK^0$z z@9p(>s3Am#Sf_)OJDTHmyp2rUZek!fj zfI@gV0xV!6GpYuhT=PEX3>U<91EuFY=yp+W?hh=TTPNx&Xc1t@pk5B?*wzQIMsp}V zDhldNuX_G|;J*Pv$P~ zR3Im;zQ5N^s`onq*KqygxkW8AqfNW#^Xp>44yXOPhvGu53%cUw_}E&u`ohodT5%84 z2{Q{KKuHo$D!WBR!Pl331MMa9WfbcG^9P!5Vvx4_V_b*bC0=~6Ed^Td(yXQUVkVtc zG|HC;vP(@X+bx)RE2=+@LBC$!P{ zD&to6%4?2L%9*TI+yR*0n?LZ>FB?E+1;d`DLTsNomY?btM&|n`IJL~W=7@Jhh|UN) zIqMe^_-9W~52L4s4iP)4+sRUcA;&f&hUI&Qi=E+R`%Yq0p}YfFOCa3+$WP%PUE?*^ zo6}=ydmjoN@&2SPHefNSD|UjXG%lk;JupXXTix8JI=(MxAGxYD_;EIxbcRuKddE4omi*L3@z>%LeV5amCv)I24}&W%?;gMx zR#sADScZp<-hyraYm)Qu4yAG|r^(-a?DZCWpErMAYm13svu$T+bEcz9Kv_U`rB7yK zoNJwrn>!CxcA?sUt3pFgBjoS`y7Asj3{QRL$7KT|$*(d2)-x=1&1j$qq9N95fZzQ{ zf4t9yFJuY@^b_teDvE#(4nJp}yFHQG$y4Z5pl3B2BXF5O4e=pH{)mzNXI}ycaW@(-T)@)T|lN*3aie0e0GDTSm3txN|OT+HMQvtqF7%%xi*}yihyfpBz zl=pdx)tY&iQiBjT2nqrAy^usS8i8x#AxKF>P9i!Qeg?N0$Vj8iT}>XJuUKywSCCqp z2KAl*5mad=t0b9lU3B8fG%PHRU(Avzf8ph-gIw{wrKME-7yFiXY|IxES@QMR=)5%< z@p3xrH_#Xn5l~u;PPhbXJwxHT=~r*S44`+E=^B4G=0C5hxOye*qMEV)z^7KIt!FIs zJdt8*mtq*@YjhG;lC+G==}A0iLv|h*D6~a&HSzTGKJ-z6$##g^uz~n%A;P3ow1Q*e z)Ye}K?_Hg1$jCh3j`1te6^9ZBa<+@0#dCj9Nd8RY7p%t{V&nOgR1q1LdF4GfHUVNKQ&ZQDQ_&w99_pMt>(Z48F~`7&(|=Y;fo41QJ4UN`|VYS<8IlV z==#Bae1+nUf6l`0&nGBv#anp;&85A?yhS9m)djGHzclx@th@VJ^u&|yQ@*_qtv$|3 zRu16~qRsmS95V|g*<@|wFpChl+$%0e_F)?hGaUo3{HmTp{0{{|+7-*|`MKu1KhV6(`E_&zxjaj#&=POczupIP>6xysT&tfUDk){a9 z1W2{Ir;z3(6R9*4$m*Wm=9m~6$A0{1wEikl&@K9F8!Au=VNztRL*V0sJ(Vj63nL*S z04I8zjw~hlQ28XLKwjxD2uMmAJEfVUO{znlEWSU1KD+NGb5(8EbAlizlDLH;HR zVyzG+si!0hJ*1${CJM90LK)0YeE?84TJypUtUrQ*tDsuF>yDa8a-9vb ziBu5T>oN!I4X>N8g=I(c(kHRCDrcQgu(zj9;?#Rl7gxK#${ z2)I^M7Eu3m-2q)v&U+P%+8)F5#B%@J*D?DanUW=ZggG5$7t4CXkX#22=XtrEi~(9> zrfBbeM!9JQR?Tf@YE*{Q>2)1o$u^8z2}YAe#85NumzMIMPPm2gP@!)IOgi=s&IGNQ zO*g-#!Kl8N!EfQNewV3d2BcEQ!g2S=wi=(=c#t@yVpgW=`^+1- z;SfCxjPS_xec-M`r6RHNgbeTOYC6=79v>ta>K7(B-=vkeG~+>3Nd>HKx)sW0 zsVkE`fP}4<(+T8Mw+14hZn%ueHds<`YKW(I=5y^*jpalsds7q3Mor#Ds06AEjt&(1 zjL^(7V_2sXyX%=|C7X}Wf>)hg@0D$x;SH@;UbsxxArt&;xkS&&5H_pn*!cDcE^r0Q z!2sOd&Z`skZJM=-Di1ONhzSKy!LFoP#mLisq#jArUCZOz)ouvF4NGFD?}L32CQq1o zJ3~)obC6C49VDxBZ*D(7KftiVKz@UkMo_H6_N)J(msIlR!>b6367Mpa?N5s!*EOnX zg|2`5(hZ1E?|^qS-0%&o2p$Nj_(!EEFlgZDO1ml+)Y1pux94(8mFZvV}{TM*-s%7D@e*-Ttsf1&bU z5Oh7lMxJnWb^XfcS=-dqR9syAie&@xCru)^7pEUkuALhY5Ff}GwJ{ZS^brzPK_q9l z;Xk}&`Rz*JQRn#DKkvRJxOy>5*?>kj&yRZA{bht7y2;ZGd=>STVIZQ#zTZ&q6lGRjO-P&KJ^f!$hz554tE_OWP-M_zBzBNnBG{jcpOMd*L5 zH|@>|y@7>=Up&7ia5-66>_=kL+{OAF&C<0dZfg=LjI!&>0q`^K10VK&KCn^?Ott%v z$D~`eqF9Hy+6-epwkn^Eki12xBi>n#7f{g4=HXdK6X~3E!^mKc-%(=Bg0)uZZQEx; zu08Z@`q@b*AeuE=SS6c5_=)ndRpt#Np6W{J`$SmA>kcGn2tR_TyWW|{sB7X-AiWs{ zKgXK~#x-eg^VH&5jvG^$Xt#c6| zi39iIP#9z|%;56I5_v~xoPSOXgMq7hq7^+ft-2A+-r-JSP>Sr{vi5KbpoXqk?cI)cz+Y*`` zIwQNC7}y{rX{h2CauC{l@j9|uXukuooIl~Ul@uBt%YNI9awgvy8RKZy$$L;6`y>BN z7$XI00{1gq%zl+CD379RxIC@>JLY;JCEhrP~S zHt{?--0?G>XZuUx$e;Khnm;&GUs|4n$zyTyaOhALqT9uJRkgkei8ct%z zdBMjaUT6XvqpDF8N?ssyBLJ8k{4?n|kv!^OOa%*jcjQ?Se;YJC?1B%RviZfn$$BM% zWA-m{!hptOivMZZ0!I`^qLu%O#X|29CS_1*W~kqXvFpD{xT3#(GKfeS|uU~qlLp}%cZwaFE;kE&bD=^myb-kNQafNg`eb?vOD=1=5({1i~*&m zX>B=9kS*YC@g}NICsAG|v4kl#U^FDB<|-6Vua-q$DL>mF+)o>mu0lBHo>Ig^=rT^I zURKklryg!Bc^%mxZo)WU6?*ReVunM+fu@aAbsW(QCIoyp2sv4&CbAf z-JjX&Y2koJE>H0X_Z#^0qobp>H4@xB_-lx)@-;xFq52#^1Vm4nP|T$0)bQILnG3gg zK`|xGvRdXu*KF}-UJ53mntsGQsNgkBN zFP650b0%t#j+U&8tCi%NFR?j>h2R5ln7Q83FxZ&*v$m%HknX3@?}8e?LUK&Ze!@8X z@E|zCTv};q^0_Rkwm}8`r`aq4UGT`fT%`J7syZj!A)qlJF6~PQ-r(C5xZ+pUC?!t@ z#0@jHq~mn>7&IM@-!DB*-1DCZdmq3w95}Tp_76M)T@dP*l8&=C#PpmZ{(L)R$E`y8 zXM$ab+-JYaSWtm=x*}4jnZN1nyN1Jm{0ABDq4!&u1-KfN8l^bJHi_eUD&iDW6e6o^ zhd*v#28&sX{L^pCA3q_-VKOkP;QQ~rj>PfAEpBaBon{s~d zzF|QIb98GGk>&_m55WX>xkDqy_n&uYvqIjXLyX?is8**wz2|IVm!Z1zdR}K?ZhIh> zFg!fmCtF=HLXi+wC=U-3f)v{CbIolpHGEm|>b8?!2Ps0#DvuaCqslD=>)spB+gXjj z`I=(J6~fOb-?6ONbzvc{!T||SO7r87dLSHb+JuINHsox1hf+{Rbo~N(5XIN!V)jkx zDbjSzb;<+TS?~F0K08EHWy7w>0c?dhn@H= zpQ3N29H35>af=x}d9?RzYlsSZdA?e11R-CDj2rr0`!ZIqqykk$mq2&EjOY7Zo=tcl zs~}qMMRTSJGW-kdQ%U4CHh-j*kTm?%$Mq9g$Jf|aNuDsSz!G-ItAS0Av5{ANW&@MG z{>`Cu)Vy#W3qqlM9;X_y0ls@mkW+>I8Rzsnj0J`8fYFk2bzI`GF{_A{Di;Dojkke8 zSeA?$@IRKb`F%~WmkTobX)WVfXK%JyQ({wB#nI4PY?u%{kw53Xh}xNx0^CejuC?sz zEC1`Fi#|<*ZcJQtUkH=z1griD9rNZ^Oo~ii6|bUcu249x=p7|fkrkN-VNJ%)N&vyk zmOVjh0>c4^XL-pZo+CQZ1sSj_L}84d(jC9;hVi<3k~O#_&O~QV$D^?*$ciXq;Aw4^ zrX9FuqGUWP$6m>bpW+J;g^9|#6+63ie`*<0v-+Y^^z~B(*Rb8FFx!g_TPk$b_5MDP z0=W}e09r(n4dxt8iN35eD8js81e<)9>uk|uiduEP-11-T<{^MZqsN5>&}G==HqhZk zs!qyn%=vo^@~%y-uC87`+duc*l^ZF7JfPZsxN1>YM#%bzG^QG26-?$gu>W9oDuqiR zSK4-gJQ)%3>EO)E+dH0AaE)AmoLZaG_g2IIGHYE?^EUv_V436hujCZMU`)m=hYxy1 zf#gLMr`qvGq51kXV){~ukAh+lu1`qnf`10G;VZ#)T(5hN>k<|7KNM+F{y7poD*1IE z&rfGFI%C6P%Z5&xG2HJm=iZ2OYA|DrXAO;7^FeFG8(IY7)I*{hlDR69dK0UUDSzl# z1_=(^NFhy9?~Y#|&A%~^-^6K9BG@}txF(6#Cd7Skx9Y-~Hb>%UDzSlRVtf1e2YjvZ zI*W;snN1iOnabZn_hY>Fhu7ZEgc?jg^=8SEu>#kGxYhJ|}P1nd>`BwIk-I z7KLZWqYtyL${+Ls)$VQzCXy>bacht327U_$KDh*E@g&RC2DNu6#=d5@AT;zkQ@!Qf z=G)x1U(>tM&p(u8b31n9=2A60!ar~pz`aP8KzmcW)|{s!WXRB5Y=2}sJD=}JS)NbR z1l04g3~T&9?hNI}Mg^*o-REk0#B~NgKL7;dsAyn{+)yYPwrPjRL#U}OGT>G`9k7Ui|NnzN2v2(2OcXv&tn1^@b+ak|gzkPgc(rz5W z;xwgDFw@1mq}5i>%Ody*;y;U@%4r+Q(sVqn+M-rQ4mng*HQd&a@KTR4 z=R}<&cTAfh$@5r3(x;nv(qlp8pZ<*njm?~7qSkroq<G5eiNniPo5o|e3~fNg#hyUtswd%CcAv~fQlx)1c+;}v;2@u~OzETLya z5DXR__DVe5V!jX!ha_PxN3wB#N!ObZETE&$sqJK}qRxDDs8WUPyS1U|{>3|@{HLU& zo_}KP$U*9J*SL!og*m>nK#Ma@G9(GcA_vlF+`|Mgjp=74&}>HU@MCRBN_XYZ=~gbE zkJ46W_P1UwOmrN!baU)v#&$-2ua5sH^MF-0UJ~t;JfEHd9NvWs4OJFIQM=fqeb*TL z^t(GJC*JS2lZ4)t_04#@?bY8S&Wni0BQ@G=RG5ZRX)}<`tuL>y6~p!&h+gUUf(Cf~ zrqR3eF**E!R||(iz=VghX1sSP*8IVZGiQ6{{_q^(<|@7*-AVecr^zr}vUKH*@cFU& z?8V$Us#%J!^3OA+%A{MeftT9U3d?Q2Q}8RNT9| zrb;Bcz`X2Wyy>3|-G+RK8O%r>#=p*4^`J>I1HJj$`7;9Z3|nFH-1(^k4%rki$5QUg z+g6cj{PX40K|VXlXP2XA{T6=D!S>JS{0E1T6QsH>^}eTVy41g8 zB;d||H~@EL;GLISDrM#p5k+)Ew=TNbr!~K$n z=FLv&4+-}k_CiN_4l9&RT1yHuK76xBii;K@0Tuq5pFMZi@qnzfwi_Ea>-wG~Ttw%l zd6uvAw5YUvxMav(Y>LxSLyf&P+{C>fVx*Rf{lRw$NIt-(L5vifWd14quX5cZxvYMq z4~xL1qDBP1wl8uB`_;mtUrZn5e-aiqO8U4EI##~$0h1iwEM%g_& zn6*uMW_Ipmyo@Wt5VlG88)-DBlMU-;T>5p^T*E&IkAK}JS4-H_N;MGvu&~=?YXv&U zHJ`U^%-Kbmb|wjxb_YC3pnX^nr~hrk^7K2&aZ;mfn6|d!&IUiDinB|k;^_WC@R`?t zg;1rd%#~v@ zBc(dext)g|zB#F!)3ghB(^zz@BESPuubxg{o!wCxaSNiWCq$zNLP)H>OPrGLS~U}LfQ zuw}v>y6J?O8NE=|>#1Nrw}?cchma81tGON!uao_bIB)~Za1i_bp)&WpNx_6yDMNaO z)g4+6u-c!u!#Ciwai13ZAle`ptoLLo0fmEOV}rA=!p4gNFK60MI1_n|+_KF2b# zd|f5OhjQE;%D@@VOX=$u9c5CrhT4VTuW)NRtngg5?q-*&(}QfWe5J(tfNeARHJdHt zh_T;7%B8}}(S)Q7In3D>h=L!z!UuB|($4m_HT)C@S)B|#5&zO(vq3w~_BX^;yDB<| z!0O5^3~{5@dsLY547qcg+Em0VLTQz6RdMzjg<6zUpaNN1f{Tzl!A}p*ozK0I6VK3p ze6~Jz{w>}WerP$HIkSDdyl3(4<8(_$EB2sFW^PV2vl70=3&UxfR4n|CsW+=fSqw8l zPq9tDR->85WP&VWo-7o>^v-7>WxzT~;MRGAlf_)YE#62f(D100i>!4cw1KW&e?*gq zzVsZ+qBDBYHP3Y(p^$A(28~O*no7I6!pJclvI4p%W>U-MRng+7?D3WrawhIN=z`3w=mi@}))Sv#VlM|!fD?0|`)Nu)Yd6Du%0?;yEAnGiKl_px|X~oq1-)%}n z_2Mzc&fhYB;;u0G?j%ZrnoToZhpK{(FI1LCUrzgZh)#JTXkLkTMD9A^8g3J>8&G{O zB?Dow4_YkKLWJGDWC|OI`DJ{lz%eY#y6RCLs;IFMyv5U{swV%(<@FpbHdT$qZ zi_Mc>P7}h|J3^sER}|-ozu1$-uobBXp*4{1Tlq5KaUexU$VjwkfjH`T@8Fr)|7E~2 zB7&jj&-#UNU0D9lTskAcSclaRovjwOkYHyP>BKjWjVNJB*5kh6L{KI5p61htAYUBKuGL zo)zL{!l@KeUoX96_AhHMX*hI>aKc>ds0ztJ_npbo9zr8&FF0YY4cWPH#4p)+^DfE> z=1L5|^5E7U5=Ksas!Mn`y+>Qn)Bw+9tu{g-)#Ub`gEru)qONE@+KKQo>0zm*3wlNJ%mW}DmkC?CMZ5aR*)ibS@C~cZ1j{dfmC>>(nR`}w zK^=ZA!j{Ne;Td9_WaXR&jGp``dXyTf7PJc;yI*+rzk7zNuWNR^m1-pPQt0KB?jEpj zdL&AFGzVC(kw%VhFIRH-ht6|4-U7MDsHkdT|e;ggN-S+=d1_2B|7 zQ(7dT{6H+qo*(n*Ck$>?H|5hSe~fz$w2)68KGSm#O*}EmqX%-U(#AZMUW1H*%pCj~ zpCSkMI%bEdTDuu8_XyDTL>AUnw-4rxjzW-(4sbVhZ#cmbt3W#2Gfw9;KF#ty5S`x5d!?$u)OM2RoPTeme!svl`aiHPq_Uqq%NpdVvR^M~; ztt;(>dZT;Rd6+)q78Kr`V0aR{Xqc2C3BS#uf)AI3N%Ilc1~gthQLmPlK-83>D^Zz0 z*R!>Ee)Rp`@8VFkx4lLSRGoWl?8JH`zy}s}#`}IhV|T&9sb~xY`YKxZ|Lh zR!jq_-ZL-)U^@R^IZ@yd&>+r?EpT)`Zll*$T1?2JO*z0R?yqhliby_djFR$B7fWXW z%Ny%g*yko`6k8%yKlt-w)TP#YiYdy3ow&fBaY8|??uyjA^-8i)d=Xm0CBys^DLNMX z5B6hUN%=@(%xEI;uxZ*O6y@n{QsyezeR?BkYs+9}#tAqUt4w5UX(Rw!-hnH)M&yy1 zSuE6>AN{pH#$f-Aee21_WpSue<8rDEy;*>7DjW0M#{--PGA<)!EhllQ*L#15k)57x z$fOkHSbsmo<%n?4RCB00OcdntiPM0}IwV1Nd2wz9+ZeIANDO2L$AH;Wt5x{118^!i z8Yf#&-yR@J`^V$jt|;hS*Wxx0uP4?vzflU)s+6OK-`_+`*XCrutU-1lvC&SZTvh?bW zZk-YxKC@|+yB{@s9LLJP%crvE)Jv0JJPsY{xc=%&1jgX?>3G^%GCJUqGQ+e#4o}oi zzSqh|>SH}dRV*S%^|Czl>5N7yE2fpDw;3Nxn8Y?Q{z=Rw4&y*~K<7K-Y!;RKgKx74 z|7aE)Fr-O$)o*ELc?i@0>Eb793~PXK_MJKS*y$))!d6y44dm;D2!aSLDXj8BuLWb_ zOS+5#gphvg*|RIlod!`PrcO1!@~3T?%V37u98&EIbLk<9!-A?*%$z=HVkz}9KEQ;! zI8bFhtI=HBbl-8lsu?UB^RcXMvpPFwYsss(RLE41N=!U6M61$R+95yJ(^lODPLOLJOE!>~yau@}MbeGdL?ez!M+5jEp{KqW&;-si&2 zbWRDqslq;Fsz}<>#fAeNPGm|LEl6VUec~-p@#2?)`!;jq@I+A1pj$}NO0+6k;`r$H zm0v#G;+5;pyo*+kf$}!jI8C|mr(qGL1$~3%t&gxcGHZnvEL~7EUfiWZnJMNeMXe7J zmUQ{gnO|Fx-su+|B7@JZ3#69!Wb3J^TJRPTB;kBu|G2i$tq zyMGmxyN03aSKRhiGM3QRe-A$(MG`edT6f^m)39kg8ZrKuRDGAf3*?% zz!e@8m7=KV*L-%L6cm_2qPc|N6^hUxP~@m6{`D1#K41kLMqx6Sy;jvABrT^wq^d;o zO2;vfq_J^GblEGUZIMCE;KHlT{s(xJ5Y)ok1X;hL7B@nd%l~Ef|DQ(&{)PX=iNw#t UXTbpZnG{}4T6Al*U}wJcY}m9NSBm^#L`Q5cefz0fOJSMAPoW%zePXa zf8W2~bDllBvvbePnR}l5y6%`LRb^RpR1#D;I5>29IVp8GI0O;c?|x*2=YRTR@nK(x z*5XRyaB#KpX!oW_ur`W|oZbgGIE?=15B#umi3J?on^1Wvam|lLzp?`z$c8 z%z_bbO%W6E44C2_iQd_$;z`T%hJWfqAHC1b4s9yPmjdqXgFWQh9e)SUnDPyaKBOOg6Ha>$CAKW)`H;fW{Pa9QdQSa<|J$$rwy!x2_ z@BqY}KjRntvu17e``5P)Z|CpF$5o$RAd0~~KXsBO&Yn_Xg;a0|&rc8XfN9&omhY^& zNkB|h$&-~|a5x-1*55}IF`o};a53JAo{_pzd8PEZbV%{dkA;)=_Hx|S01Iioe_~jX zma}uhwLNT_rOn;dubNO-G5)SaMHjp;3v3IzY8~xL6u)Xdz{(LPtB&|WQ5*t?90Z3f z$6x~7;v)3E$-oqKu%uI*>S_}{`$*(8ff@V8x)L|^5@>7g;}x9wc2n2TaAj=`%z;5E z;x|n0)u4kw|8FyNxHr%r#Q~?mi@r|N<-(%8Mc*bt4Tgh8GIhuj9>br>+drP=pGlK} zW4>JgoC|DC$49gDu0Yw@*)+QR|E4fw5L4N21!=u&%9XuQ)$&lUiRbyo&4or75@G6} z^~ETY)mAzD>K0zapryEh$A=(*#FdY~>eaLIexb|`+o}WVHAB$Kj8{kM91~?(Azd=9 z^!dhzGY#|psIM5cZ)N$3#vJ8mUp^0TL!L6R^DeZFlm>Z9TuoYT8?H;TxdMoMu=-o& z4pAiaG212Hj=(jYG&lL>u1-OY4TiC9D}-fg1!J^Ffmccs|GfM^|KMP*?ou@9so7^GZC5a3ktDNSCVZTpzKYWt~xJL<82&wD)0hJ>zev-+oPE5{)`m{cpgf6 zb*tP@vk|Xz8L`-Zwb5o&Fbd{Lp(UMtpUaKEP`_e;-OQ^_zdFQlB~#QL=)M48-!K%Z z@#Duv6zf3?-nGvDHNAIpIGz^Z0~B^zX*mn`ks_fY1dl6fG_hzHSEUv=)*=W;WzwQH zms42=8k68k{&}0sGdUBMWSalo=W_p!-=7;N0^@a!8sj*MiBy_4T1kejOdN4(n5ho1 zSv&R4J=!ks-Hygf^q)au(@f?7gjnq;{&n&FF(gHUJ^TvL0ovtz+#DUD;F zOEdU&RI9U4HmL!%~L z$=VPZQH+WezRqC9ofs0XSs-;N?X7YH55aFLZMax`t52D$8p?4^#&N~$HzE$PWKp!g zzMq;GOHCSxY$PGEt2;bPVb8z8^}ojxL0>`TlgU%(f1( zq9D67%mh8q@5XXuX9GEe{+ORdbe)y8>Q?!hwZ${m5F4m}i4$N8QHml4iIe!vtPf1n z)dS}|R3C@t>FNpSVz^Ai!52*fYQJEre0#W$j*fIZt_eL5V zAkEl}>0c{>6J7^mDRr|+u?}4o&EypOZwe|W1dPeEdAT)$V5Uixpc_A*4tF-D7U7|` z_Obf=G7hc#GB7$8MU#Im?W zkAtA(e1F1)3`%2SquhlC_eX%Uxle)AleOz{I?8golO>u#X4Q3?49fpVgxj=DE)R?% z$%_)cHKp(nL!Xw!NVSUl&1qV^HvZ1%%Y=vUkk9W^n{GCjgkn@R*jof6s@w&{pC2F_ z!M&uU_AgziJM3#o;g|mL#trob339X&CiBuv>dm6cj+Gv*3a5Yi;WUmuvGLM@;eTW? zD!e^gs?l2&S^p2{?{RWl8{5YiKOuecv8iiwUhjJG3geVXH3EY?zeTkUL0qlpBj`93 z(|d1!zImvTeSJMdr#&s&j1>1gJR)Xso39_g`JSkZ+33TYcczu` zkVT)K%i!A?2_-aP_LrLRO(;hcIG4P&imlR!?8o%l5 z9*;PQ*+TrQsNj2Sn@uqF5}EGTdtPB4gueidtZLK^cE?c{6{vA`GAjW@WESD9O3C(}d!BaQaF*w2TGN)(fM*PRE(E=y)`0~(;dgdz<#C&WTl>h2-DV=vT;)tXsY7= zegI-#Ar0I4ub(u_BCzzo>4V`^b7_!+g4_`(gkQfHh)H8-W(J4`_lC_yQAh$Ztmm&^ zMk|ZVb3=ci;CzBZE{qRq&m4lw*`7Z4)MN0QDSk<(Kpo76+6Xu-a_5mr+Z`b8$3sO+ zgdJ9$RBl-2OM}&=jGWT41I-ANj=I?@+k})p7M(P$n7IYjlDC_GcO;Lf-(ow3-=v*7 zkJk%Posm{kGD4~0x>HRFdoXi;A5zS6XvbMgZJEL7V7{(DzMX=23Daw2Qjq=jN8z;E z438NcF+K&?3J=;j3%?3i`ezlYe&LB&$EO``Z?jd!l7#Tano0EbW37_>b7=$+z8r>9 z(n$9a~8L-@+D!E-Pp#N&<@F0KnUAnN;j$j8VHE|4kz*H;ds z4p`xqH7i$eOo)HQX*b%c%jI!B3ewbV2lnaX{eg=IDqd^8hl6PxHz~IZiCf9UPW#o%gH8 zjlkEp_~MgJm0_#T)j^~Ek1FGCg{cVZ&$!ktUyRe*xcM)3ODfv^xlJcK+Dz6 z4{^Wfyy_g~eEQUP6h<$PGuBT|Pmd3;Fe#3Xj)dIzr-EO++ShqkRMAd;SBbkLPUVWQ zSM1cy`IznN#DydvdR29@dR@Pm{FCpRJ1T~JS0>;u?1;1lVp58HJF#p_{C&L2vLnOr z<29FCM<#S;ChK)|g6w^U$T(r&$FJaV8GTP=U;e)W8AQ6JNU4KLns#fHzo)Y zYeR0(Kb&bcK1+$j5+Q-A6VE&^1cz*q3BxrzhYILz+YRa#1s&*{r=q0KU-Lr`Zn6iq zPUA)YliUu4Npg1@yAN9eh;|D{^IrZPpDh-nM)-5vs?(KP^e@d02**%}GP1hLu&*;? zeHk3)bf7Dt62elVMQ#k8M5#x4DvuX&mV)Fe-9&;DRY`x=;UFU_wkQzp3g|#zU}no2Xe}1kfl?g+Q!RCWMAO~QnLW? z!tY}=)^G#(zq0S@$k~=aDTS9&aD!f&EF`gZ)2q@xtAz;BrYRxZ@QX_dhgUEF4MF!% z;`cMQ25Vwb6$}m=tT>sD>4}M6!*R?vG(1z}T4|u|TU=z{smvSVF3U|)I*vcJkBd)7h&9aeuR^;@m+P9M$EyN|ZE4S8`);U*o1`o*<*nj{WW zyym*4l@lIpse$J1wivGWuGTP!#!C}Rh9-5>f4ya8e{CPRc;V%fpZPE^EVR_!6}1^6 zxwo8=qefJ890lzv!bey0Qprj64nNX&E^YBA$ao$P3i?x`D3??r!}}#9dIuhY=|eDH z%H!3Tpk=&g`X^#uHliKh4vi!S15|bD9HH4B{x^t^R_I|<uoM zoI|k;FsZUmsb1e-U(D%?iHTWWUe*i(%@iwVGuuHd0L~dNy2|}Naqr%y{7F$vqs*vK zPu&iAg{dCBJvpg-C)R!5sNLNNb3*Cls7`@m+>p4_!B<_L8$IxCNH^2d)3q>%DgESA z5A!MMS40NYY;5-PLS?p2M4Z$rwh;wACQ-}5c-NIKBlLgxZI*VxL3)bt!gWHnY1 z-9^KJ_<*Cl>geg|X=lgW`#Dn4ml2DB<3@+lAJoS0aamQxesFmi?4+O0esZeDO^=AM zj<k2armu(P_ z$jfA@Emie0S*HigZS&@3Dbs(Gwc1lj$%>Wmqdzk+DuC)GrX*Jb9%&1)IJ7_ZC+doY zD*1Cyv@)DQQq0`2*o9*<7{x5Q69&n6ACSn7?M>T)$GpH6FN z0!hQ2R+VWI2R-^LF4z=exh;rf^KCavnw1X0Gb**@o(A482nh2uCkBPy3Vm-L?&nu4 z<1cyryxfdj&zyh=dLO}_^u>SUj(S z`>b7$*S1u?hXwlPhHP)e^`Zo)tj}rt{kbaeyr*0y^ZrlZ!SL6W_eMAb6 z!i5Ej+~ROx7Tk$h1v!!J{E*$(#(@tWBG&2NmAQYBxaB!*;CDh5Gf3FBPX!61*4Z_{ zLw&X)+6}uln-_Jh59z;TWVA;-S#j?Kzp|LuAhoBc(r(mYW4TNgJNd;hsv~}b0O_Sa z@4bqG+O(w?<)e?V8nKHy+^Wn}8ci4CHh;ob^4iaIM({uIRCkqx&flk}T6Tidi3cu} z;Fq9?Og~UWM|`|NoUHLB0!=QkrGvx(i1WA0^;iL)xkKx>%iX{Dr1UJZn&D8UMMcBu zamYdj&Du41&?&?v1rtDYW!hq$u;Wxlyv)Lln=Wd7j};sg7PMSa-o>g+RL4j8jkVwq zHY**VhsfTslJ!kzQD{-`PBQI=cORz!b_nn*+itY!@m$MqWPi%n43h}Kh{*fDS?M*b zlSM8MKX&?>=@ZXz&w+}L0{LOqI^j-yOEq^Z@y<8Bk}vCSMJ9(ns0OTR?rv^bUJ{4i zDNdz`7#o3QT$yXU`0Bxcu69J-U@UFUqfeEzkccAOUQZvVGM*!zHI{$Mtp2s|N3G=b z_Wh8&H)_m8++u=#Hn%B#B+HnqNAbvD?(foz9i zeaZWypGN;F-0~jhQvY74mrllB>LuZgYGU|`X1Qk4<%W9I0Ddy3DW6gQ>yc-F;!)oLP{fxwW>*D$up z!sWjm`5yTALBY!XShz2N-dtpcF-KJvNa-E$ zujLXzw#<6*Y}Fu?tfz|i2R_FIsnlqK!uBFFMP5%;d5tlIpRAeZKlvKE2~O|Na_zFC zr%Qx~;@EkXI=H&J`ub*W)0KN4%$5daSRU}$g~4J=r}r~EItS0rV&6a?EVjp_5c;@3 zmDeAE33(EH|Ni>dvh3ykJOS8`2%jRO;&{C~N0aK-HYr$Ss`|e2O{^S0Upr##UQ+e; z2bl=@vOUBuw34EIqsN~wj0Igb;8qdtb^ULC7~O~bk`*;sLE0-`yXssHc<0MK=80Z` zFsj1GE$l59rjyhC^tt<%l3{ms-30aiR9yV@LZjK3=xI{8`DXT$?CK8Vv^5`Or+%Jl za1;{iH)o*Nx45`iT3SlwVf~Bjfc-@X->bJk72!I-YMAJ6s8XDdkVm!@K*t2X>u&$T zqI_gO=|21_3_7OIkxF%v{d>*lYzGaV`8_Nd$oIXYLreriYK44`@vxD9gvu zod|sr_1*oQb8|HpM(xzLA1v^rp2Tf?io($ZU+%HkI%n%7*D%0`VA`IiQ&)BxtBNAr zs*0>qP>M?{y%vl7SEleH4s5&EP0eb>-cQLAJqZq#$B!EyoC7X0N5iwRfOhELK{gLQ zNsdB>+1OO=(i|@E0s8|#X8T9*LBQN)G>kSLLHdeHs=q~uTFUv7akE@Q(A68fxAv5Kfe1V0C7cTl(&J+bn#!1FeUAqnpN3K zPTKOB3tTvPk{V9C4$n9zQH%5ylpjaEp5&poTA7@S`l}D}**`r{m~HymqmNU*Ca}MO zzLv%b0T4DD`E3mT(w3>zNnB#ftx^IjQsO5jheJ)%?+O`tq}QH$y{0kQnoo0ZC7VCq zwzm5v`3R67kvrOV1*!yE#$0_2K&}VteJ%Gnd;I;l9&&FvAykJCfA}Zx8k7dk!Pc6R z`Aj=5*NJ;7!qI1I(NG0!mno#n$HMChsD!ODP?~)GA9BnyOfJ@ zgGY>sD1EnZbLwX8x7*6UG|pB)cTXYKFYPJ2?(xev$FvbE(5#&dZbv2|@0Q1F>nFnb z#d^Zva+o_@w+6d!E{}&Fbr*}CVhg$|O4>C^Q?4v6D!)k++HnK>LP1|?^nQk#-jz&u z33x=`Zzn&U7q8APYc*Deq_!3rfi#6yhi}86PxleawzvVqfA(yPm}0PN0$i*PWCNe3 zB_pnX37VFe#QI|k39LSFm_jeFDh((DH#M$NE}nfsyHpO)9h&Sl%C^NUKA74jAgh8< ziMM7BSf}r-`-@OnKr(i z(a7<$d7S(%D&qFk-~2GTr|ftBxPCX_fAXN)dh%JNvv}~kHN_(qIw`=bb(fyBm|}?r z3-7y=bV2n_Vg~m>fX2dJO>nN?3gcRVZGy9DkSZP>>Myv!-7`X)aX!a;@UM0EDQy>2 zX>q|Ge`Jz2CSL6gRlGn(`nv@{xrr1 zS`7d}0PTe;MpP&+njh_3CcNu!O=HJ-<`lwi_fZ@|j9jsDMED}^zyAnDI&hr#)r&q3 zkHyO&`JA5jE5dyy_|w+n+;Kox?LCI6bwTu)zk}x;6b_5m5=;>cF3c4R%8b30xPF9f z5xP`gSrR~|HMA z?h(MAIGJ%$o=vTO`JsWNtjm7ggNO4CA{NCZS8ep6FH^jJ`-0S%H%?#y70K z6)f+$nr)`p_kQQ)lzpA)`79sKp)sA&p53+Ef#SQhEl3|~vFTKuH>4Xgh;hhvR^B67 zP5z7S$tfILEt~vEWJW%E_iCxEfGm@_Fl5q|)J<&$H$auxSzcuy=m>7cmj2e8S~j=^ z7LR)AP~J}L20?CWP@IkLy12RT-_ymMf|!K?09bw=d{YNJ@&Vh~%|vLken7rLRHKvn ztTc!)x6RieC+|5G``?$~-L||_=K={;8$NVtl#N|65sX0IRw)%u(A&s8A=Kn!_M12| zxqt)t!oD=dt_j=}S3*(_+suyQjM(}5ku&We==pgl^3} z9u**HmbGIG>P4>4p0?%dY8!7(_H_qDCv#Teiv}aCjg)5G##at@DiIAae7=(4if#L( z)H3a0uoLtB0{Z3+u2a-&J<#KMj1Vaw`Q^Nfvz@67TU5#EfO{NWF}V{_;La;0l-g%pLm<6*4mf%5!w^Fs4y*hpPuCOwdIub`_GCSAjPMnFA61mq5bYA5L z=u92g-K0EmgO_eXN%_osL6TAKY2Bdr!}YF^4>=eI4;G_!MSTUu-I4?`p~bhZRR{o` z8jAF!`cIivE_~eGY2Htm^)@8CGU3qt_63;NwH!+QtEAX}aE!`Y&cYJ@kerimu1-K+p6}$bn-Pf}(yt|>fhFJn%&eGF6cC2P5C0Aztq=Pc9v&R^!4exe zl|5@RpDUuJUQ1ilQI~}B=TIAF!8m-w6oQ@!7 zP%R3CCfrmWjcQ^|avO=GBL477eP|}{h=k+JgQsb}FH9^KDR`qiCD<%AnUODyt$0%( zoSouAYkdi_Yn&gX@yduGW2tX!t%}GgzI1*#%p7UTo(8?B6%WGRFddhseB}ZkOoTk} z3*0M2cva9|%<&T46;?qB-bc1r{r>JfcZq;Hf~zbfH>?U)s}^~Z%NhPsKM`Z|zc@eK zuXj(3W-xpV=1s%gelt3;C}k!&q;4wzdCwspL7XUM5<64WZkDZFHZwfmjJbiTskRwe z3U8?)`s51QLuLzLfZd;p@&u3D4^xN&s?@JKN3O}dJRs?rJl5A1`t!YE`jp0!=Eo%G zE20)-k!}B?iy1)fTo?Ocf?P%lm-(Jf&Jxq}%#UO|;uxAE z;v99t&Y1+sHt=QJ{2K~X#%YAhL4T9wa0t@0Sj`cp(>D^v|MEdl#Em{i@;A(ge-lTM zsX_fEF-Uev^-uiz(`x@!R=7}1`fAdDVN^bEnW`Vr5RgX9vlfXM7OWedNu2*Tg$_dA z_L{YPS+Y0pWzyx*BBk90{F-h+!94Iw^_F zTVdQl7M40`PYA)44?q09tzS+E zsybz&ce#Uo09avj?s8b5^Zqpc+R1!w`JSa4cmH?r*%`cJS>FxIDrV(jqI7*H!HX9! zzC3B?Z4)eY+N<>fADfs8OA-Qavnk?Sf9KP^xF2+JBw$ht=@A8Cu-6vDpr#r-Xg*Gl2 zdVQXol6X$QP>xeV6=Pv^_~z=G#hw&h+H`aN5^L$&sa~1y)Adxbt$S)jNq6%=WKI2* zIAQFeO!$C}Sa(Wpv7X`XEr#m0GCF>`{jZV!D1 zt=Occ<_Dg`Toqo1GIY%ic{i7jbS9%Zg&wAg->diQqxHl3Q0Ai~uTF-H9XZ^w*U26m zYRXIi3%sM%O2iqsK#H$-9NMh6g8^na0iR0Ie;ZN&ju<+rGS8x!5ND~d+@J@ z6d4Z((D`2t3J(4atO#6aB1Qi%?Q{lXxafG^s=w7ADylG8)fX?e1o7WQA_%v8kxv(_uG8x%1IA2~raiX$hyL-4(<`QGsUS zpl=g;ciODk?b>2DbFb^@WdhBz0f&H8$FK>TddX z+00)hu{efzlk;VeM;o(&6T;MGK?c!yaS-h&tkembjI&M`QGHKClA>QoWD-!>@`g;* zp%2-sA!f*YO<_wkmOq(of^N1ZyU?|}Sz0F=hw|<7d>f|T>b6&==y7oVUVdAF0qhhw z&$*V^o*l0g{2A9S{ZUH(9k8l$-3X`t;hS~Mojj)4lyNC<=jN!>rRuq0CcDO?+hRby z9G>Wx?FsOB-J8r#)y3wn`p^A%W)V+mIrqv$O=N|2k$l(va@C`|dReGaZ;!4F%1Kh% zy4~7}!%zhPoY1F?~W5wP{#7emmn1P^Y-SH}NNI8gr)b(_K^hI{~ZkXm=et z#B2%B7{V_S4aKpU1<=e(Vf34e42nsL_F(gY1uM`urkX_Zz?oA;(gJpYH)ja)GzxZ} zY7Q9T1dQ1mPuxloMVL=k3nU_aML>s!8jQDcNGllB5CGp5QC|5s@2DEBUnU%75 z<8(-+m);pyuq7tOoRO*d`}+`m#HS(000NJ0eTF?_iR^WNyr?_SIj!q8*3gR7Xr?T> z)GBGWui`r%R2elCvIUP?XpG$f!a$+S`vd!s(~YD%!z9{PL9Wrn33}xea5?kajgnS7 zN7bTghd{nSe2DKEu9@*Zj&Xq!3ILloPYQn^%F=voVUjA5fV)%rvh^}Gn*R_Kx&5`J zq;m_^1?W>}U+of2#8Q>=m2K2NEWe!tL2+ibG4z|IgLoL52Q=bo2md=cP078oS8bB`F`L_b&;Kzo42Wo@!~Ox$G%Rf#oyzgwZL$PqII!Y-bxq{|KL_3f(h1mTzPLdP RfL+prlb2SOs**7I^nXt@0@VNj literal 0 HcmV?d00001 diff --git a/docs/images/performance/partition_if_int64_50_percent.png b/docs/images/performance/partition_if_int64_50_percent.png new file mode 100644 index 0000000000000000000000000000000000000000..24f7a1cd79db2c176513821bbece2c4501518521 GIT binary patch literal 11019 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 I!iE9=15KEawg3PC literal 0 HcmV?d00001 diff --git a/docs/images/performance/partition_if_int64_5_percent.png b/docs/images/performance/partition_if_int64_5_percent.png new file mode 100644 index 0000000000000000000000000000000000000000..b7a5e33302d4dde5258f753746385393cae08cee GIT binary patch literal 11105 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 uO>PRjuZXqKbpZ^b{>rQ(B literal 0 HcmV?d00001 diff --git a/docs/images/performance/reduce_by_key_fp32_len_500.png b/docs/images/performance/reduce_by_key_fp32_len_500.png new file mode 100644 index 0000000000000000000000000000000000000000..56f7860573db6f0e7195d37fe42efec82d55d971 GIT binary patch literal 10544 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 RB@+zvk(E@Es1Y*>`5%(%uSx&_ literal 0 HcmV?d00001 diff --git a/docs/images/performance/reduce_by_key_fp64_len_500.png b/docs/images/performance/reduce_by_key_fp64_len_500.png new file mode 100644 index 0000000000000000000000000000000000000000..7c600f3338af8b98fd4fa13c3ac5a86dc99705da GIT binary patch literal 9893 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 P0sfMeRFZ&-83q48C+YZy literal 0 HcmV?d00001 diff --git a/docs/images/performance/rle_int32_len_5.png b/docs/images/performance/rle_int32_len_5.png new file mode 100644 index 0000000000000000000000000000000000000000..59e5a8c6b9c1da673090250eb6ce2d08824b12c5 GIT binary patch literal 10672 zcmd6N1zTIs(>B%;ti_>NDeh3*3GP4K2~Kf$hhoLuDFpZ6P=XexNO3Jz+=@f-CzSvD z9o}=DT*=AG+1;7B@0r<+Q2tLE1C+sQAWoF4(?6Q^9O#wq0|fxj$Tz(LR8(;;OMKJEwz@{fQ8|GojY|0 zxo{0iE2HnSiN3mWr{h8;WQ5F3V$H)(t}g5U$RJ;E1F#KY#^&zs?n2Vga24^bpmLXH(2tkFY9e^7cA)~Wf~xRks2k&e9pVf&&G^)m%kSQZ z5Z1_HSmyxD!J0j&>)zzr8aQx__Z5;L3RpVNG!Uo>=ss9Pg1}QV^05vXv6Iv&9pr2)Rcw|{i?diB!h^C-5+3O^P2?viUBNTLtE*X9D zUWtqK$hy{&IO#y1^h*@dRLU(268y8A$W;&;q8mR>I8!(pIeu%()2-~!VON(^=f5;z z1Bqscc;4omwIA0!j`M5}^(PkLXVeOtzA4yq7z<%ViK`Xyv$y@Nv||2{=b*mM%xCFo zLbS+1R^oW*eRZqo{OJ=(QpMe0FhF#&6nu}=KeD$D7q)I% z7*YboOs*6SND5lxP3_K?XG^iydI7t{4`xLA)k@`Mpf^O~J9;5_ELxXHY!R`w)dsEi z>*1?5|K57@`A}1GSfXBt@$pfDyVMP6{;7~VtlV7SENH>5W8P=HG<7&>jdH2r)c74N&_N7w+ODPjmlf8s{Bqb`XbA2MxERy z{&w~x&YsE8L}T{X@rTP%D}&LZOM`zpb)gk*zn4>n3n(E8LY=+^U>}sy^0cJW<0Od_j0~v#K7L*t%##8~H z7$BY%P8hP@5AAG5xgfJsA(^a3%Ek-vd#3ZhKg#oC#|14=rD+*#sncR)mx%Va&u*6Y zb+iz&EhE=#G2wzpu)uA!ZC$Ri)*4sQv&eLu3H>=6MIS=n@>x>eZr{doh;SA~r@9{f zry(w`=x!yvu88JKIc(PE!Mfn?S=wY1CiThA4x8B7&8)Ur?XM#U)+HSh+dit?v9{q8 z;~eCl6gMaE7Jqe}LzV5>ufSyKpcxWJZTGaWj{72u09oFR;aby&)%L$?2XFmw)Ljmo z5bM!;1cOE|p!tW)RtZLOBPY?5Ye|ovNEO+aG?r#Stm=khx>y{sCWdSRO5!X_T?%(A zZf#$Bd68k-9FBzP&l4Vln$im(zlRX=WWPcf!s#ky^xFRR&y39i1DkB9?*mYF!&I~o z;+-OFF=3^|M@aOhG{EopOj(-228Xd5w5+oR-~ubYpr_%0h%%#TJREIxv}gFspjvy= zx%Q=h?dEj9G0jkGnAoB1v{=`&0YCSV4Rl&7Ir5J>WU`@Et?Mo1EPn<6Y`gJ_frt1! zp#Fvrpbs<$TkFN5tyY%DF(s(YrQ8N`Sr+dXWuLMQ8a}>rqRJ&6x~tO;lQi5*^V~1i`|JofBtlIbeImr zUS3^IN<*s(?`)Kr=+gF7kD^NyRi5%Qaxrze(k!?Kv-`|hyaZMnDponv|wU_XzJel-rVsr(* zXJ;Ee#K(*D;}k4awpV0c``Pu^Yypdx&asFW^M#8*Na%CX+FC8&#)ev~PP*1&gj^UV zu~)c27;sk4*awF+snF#i&z?o5-cZDRaBT8p{C2jXPEMTr*4#>2-qPH6uhhlP&MqJz zx1;dgWLX(~E#q&d=S77JszI{sx=`L?scnR~xHM8q$M!bNO2Th=L2(!^T66d6^eQZy zqF9}+)MB=gw;@4|kQ!37foEm{`Xc35x(PM@WvX(!ytp`NWI3CbajcRT?@n~CNp5b7 z4>lUtk7Oyle8;c%HeI+*Uw2_rEKU!xd|(c<^xezE9FXp3p>!Bintkd``k<{2{Pn2) zi3=#rs6lNaz4%HJ#&uAjN7(69KVlUcFC z^@ksL|1oMHCcMbhjDAj8di`m4~7)mVi8aWyIJng!JI2`_Y-cYLq=`nJ)IUZh!w1K2gzUie%P=6Y57A{5{kAn>htkmsq` z?=`A_O9_u@Dc!ZIXu3JB@O5nV%)P9$;F;f_$GU^k;5cPep*Om9&NP)O#%RE1@YR7? z=AUOl4t$>5xM5b-fk0&66z1TIM1kN9B;RGue%h24Y;$>t?F7G;U%~6QJ+aMr{{|d{ zfCC;pZEGNOQwbZi<2nKFgGE2)tr=^tks;1Jj~dpVZVrXDN$;sDbyZDR; zNl>vMm|rE+;n4i74uBBW!Rv78flZc5y60M$nSpb9aodmg1J7-&^Zfk z8ciBoHaapIeofI<?v`|oUkB&k*-JgzjJurYR?_wrT-i{`D&rJOW# zX>6w2H7xLMqCo5*{2;LFdvPH>b|0;NfCBb4g}Qhvf{hC`eow}V|HZ;i(D(JlFzZ?( zA5=SUY4~S_K0(q=XK80=)~gc+pao!Ls}LfL3`;kvkG$&fy{6Y9w)I#;zjKH2Y?{I6 zU0!ozcQBh7m<|va$cfOv>iqn?&PLMjW#v|o1}UPWb3B($A8P^) zTHGJX`Yhtegchf!rdC&1=jJ>P=W8JlNKg3NsVwXH#YM9BM$q< z(-dWux4V#xr8$OeYo(9+tlQ4wQ7QfokRGir-K~uB0LyG3@LQG-+$1J9>=KsU?HND{E@71smNHt6jrU7$9;QN?)qZy zZ@_$gWo2c88{ziP6N#rm*epJUnfphcm=|+*_3&_cAG5MzaJCq~RV=FF;Wgs<&+;h{ zUHnUHg*y1eB9tz4IspB{oFFO2ce4}C%WKBz#Vi;)u+g6>kspwS6@9=*XZWL@B!iIp zQy?gu4wvqx7rqKsY=(2PJlEGRVcS+ThHGugR!dswt*CI}>}KQar$9U~AvH6r)5W%* zxcuvM_Ihp42cq9jaz*4pBH~qhg^>Gx`>DScjjB?emkcRVmi(ZArC?@SxvXKav3?HI zR#vDK!3SkEhjd0&yZk+-f@r)IzY=Auq}rx&0K~xO=5o$3K%Cj3E=_d-{sVJAf=Gg6!wuNclh}eAXJhz9XcT$zKU9 zzcPgMXEcc2RmhyA`DgVLz9?qk7qIjW#l-M4G~tj(nG-UP;N*MY1_yErrq6eoM9T!< zWw2ysnxE!2m<%~HI%8!c{)5If$w27#!%n z;T$&!;+z(92?y}d^%BsqppfC(F3d5gZ%paMn=dH2B|`1#zj#&L2l*cSp&hTs^q zDG+3(6bU(BN1C-=PE8sia))_2{Q?C!hc~11%%DAAQbTopbEkBAKEA(qj+z;MFH_8VGgOA z8Zg8 z*?0!(uCzdHh$B0m76i0irkP;JC3D>!VvH%r`}!FlOlX1h2P6vtCY@%VSl8G=pM0?g zsF=G`%$gFO=?;hwP#&8h=COA?=yRbr6Wt#h++_!Cr<#RF8B@I#uhP_zo(lh{n(}o$ zwBj?2iUQvUed+IK197^1`Q=vCs)K+NHll8azNb>O&rx(a^qP2rtGv~e&A=1&A9vBN zrL!TW;v-?tCyo@8YxQ%z%S>};M5{+UoPv2NUe~HPqc8dcM6%3@_pu(2j}n$5>DeMK zdnz4Hq|%A8rVAH0br>kMG;-Abuc-9Z^OWk80`CZn%GqS(Z;uWrdd!CsN38RElduH2 zEN2~cb(V89Ql(R0H+xCmdh8R9sLsyLUR_`Bq3POXWoDx0zmDDGg@4-O+SkCRtD^~U5ay|tU^C??|kK1A6BrY zQjVC1IJfJHGJh@D0NnXz3gUBm1ze~zJ(;R(F{W6VYPp1hD5E!!iiUcvZr_ATHL~;B z6DQB6U4=1bjKhmP3k+zBgnh!+@CVm4_!T9c->uY}T4Vf*ZygQ7X7&1)88HzlD78Nv z|Ecw67+e!oNfUk6@DASSyQJZH{S`v~3J7-oKOZCy#nWE)YV1oTltj*ji;44+{Kr(h z&E%(2SlG2TK z;&^gP6+=;Tj4z3~^csb^2iM#M;ooGsdTPd*0bBp-IU=#}Jo>q*lDa*Noyof&Sxp$c zbM4Oqyag093UXw>5yL6TPm>MN zBV|}wMqAuf4tBqa)GDc{C|Lg4Qp7*UZahUuk)U3^0Y0N|c&jhriOMM=%JDn0(yCg= zHR*-8aaQotxK46<>`pO9B?!w=R2n9Nd@Qg&ZCm^$s-UrU2JoUyTi{1ZMH>Br#(ZwY zoIwXHyrS0Hy3sgKDEw1Y{q!fHwZr<`ba@%FX9AlfnGI#WGpr9JK>XzyC&*SVG2iM0 zK%|?nK9(LR_o@v^kxs3}?Et^oU_lA>@uB+ua5+w!Xj0^r0=ynE1I!a-L+~$v+=jVz z$G4xDR5A9G;qFl#L0s`#MDV6+sH&7wCY)*1PP?!K!70FLR zjLRG88XT+JuZR|^vUnUONAf;eq-#*5jUFl>B@X*(YbIOJPH3Ca*1g~2PaV& zc@l1SNpDP3{(SgN&RwN%m@B_c!}1OiI{_b2sw*M3LB)eFdc z@NgSbQF=@jJuceB_{vSZty-tTTeQ|{Op;Ey67Ke|Z zYX7^q&1ZH6p)JB4z^_OnuH9PPBoC=&q1o&RgXjL0NjqP1OHS*c9aKRZ( z7bo}$-(-fmah@9<)Qu9T8e!;+o#H2@ua42Snyb7A;Kl|1VQk_$)V8cpROrkKjh5i4ULixjZ3viruH+M3Fv+0r)EJP z-U1qEz{~Z-I88crx9EN!;oZF`fKpLDaxOf3FD4F-2`v=N?XE`TnB&{vpkx<2)ki^Gv@B5!Z}(N^7qmx(H9JSViWhu}rL2xzEbe zW6y@j;~Ifd?(bMx*7&$>3gepd_-ZL!ys^=l!Jc>l*~D+P6mHLcA`TV^jGhRKD+%DEaXuyZGuU6($Q#lS^qMY%>qHLXL7EKcn^eiKimPwMCf+ z&{kjlar#=p9a5F3Y zbhRu3Jux0mHFM#R896TNW*Bd)ng6eU!$IU`b0=quRnwOeAZ6s)<(3-w7Zj+XHK>wy z9Ab=p*R*uWE;=;>S;Tz=eH&O(nCpC;iHNH%TT~$|I%?^E_o@D;!K8)UM&n{PgG7b} z7zQ&9(RR_I?(D@immgH^0TL}}(J11X90XZx$!GiclCRbqSzz95+Fo6B)h1OrfJxa6QDnDCL;IHs~(>TnednL$!xER{ruE#d#>iXY%sfI6A z?Yg{GQJ0x?T^Eikdt0zb1^C9Zj_g#SD8{ajh}4bE%L|qcfKiD^=ZMg7u){V6qZWUh zM+S?F-89w-Pri~b|4g|00u6ah(#IuK@mq2v-`^5jT)xQyAVVyJHCP(dnQ<*W85?tc zC>@6RshkLx8CK?#l>e#Q_ej4}N%rK7q?l*kXX+>(#^)J2Nsj9gH_%Os(NEaX(=jld zp_q~rfAuEqmh%hJyFyI1ZC}fC@ss=3tDyLmpJ9_shw#6YKKQ+y;XuG2B7t|C zJL^A?qq8gaO|u@-6F2#NaV4MXU&D>GPy8O;C+71n(9}sMB}@mEp4<=i1S28__o#TA ztM2g6?ji)VrE&8?4QA)Zq_2tfRm<1-$;lPEOv`(*Ey#;>h+*Na!umLp|E|Om&M)Cj zOMA%Nwp_TSO-U~aVK+17okZ3sOP6Ow;~vr1(v#iRhPY<#;>RBUIQsk0!Y14-v$ZL# z#g0+jrRTXA^42-%#5)<=je)W&L}34l=Hu2gJ1gElW(o3b{|ex|*O7 z*~b?A>>_P4H%V2Jj#?Pn)j=os@&2y`OX6(5)b^K&ioRS)v9qMvLa}+~Av2ua{0t-5e*zcy%Gw@pw=*CRr@P_I?v;hVOyW!*NvH+8L#{rLlXf=; z6Owsrb0&`CFO+`Xddh2r6EPMFw_#e!)795`uU5#>nP9aT@6PKaEpV}q%N3`tvc0pj zPExJk=?_vI_fon{>)f>B&n+g;)vZ)|NL8#|!2g5oDN=;KhNhcXgJTJW5RG&QBlzHJSR~^;4$2SuEa2t9n?RbAB?kv;* zt-j@))|{$Nzq3tp@Ba9vAu-=@8wT*CGG8N@O+0^T$pH&_JoexM`fevl}|X z8l0vqL{^Y`ab+W;$%f$2x-m!gwAh2DiBLxzE+SC> z00Gm)IWbV9#J@Xz4(U5}n@R@A1}q!8KdBo zh$yl@hA3s?G5BMzE?Y{(cW38SLI^#Cm`w;LxqZ3LI2q5boTn`=yoqO)YY&N7*+Jfg z)@_x2%knA#$_OUk1*_hPd%^*m&&Bkb+rbpYhrFmEVE|Qnnyo{T8_@!*!NeplmVIih@<=wxC3y6%OoR4$Hw}UW#yq!ujpx-njD=swuYiq`Rwsi)c3E-yz5;xVd1nuD{ z31aQ(()02iFqnb-_YrioJ{+9wfKi;mVsE??Hk|$(6xVWEj2#X&G!!uE_4s1MwAc)~ zJjK&f?!P2rWjKN~@1Td`6jqx3GOuQ5S09-jyyP<%UL`R9>(aWQvLfE?#$_CdPx%9K zJ1kl6#!NGTpg!c%B^joWd5L;9KJf7+oP_1&$*tasb0Yqm1I$OJf+Oho0_Vj4GN(x- z*v>nXa#HrgfGlJ1!AlMeHwcafJ!<^NIM#De?JU_f;F=-25hJ5a_+_hnJrDi4saYD( zUmEl&(A(ZmI#n-R-fW;*fM(r23>5|O=g<~idyaviPs7$Ry#bMBNoYQ4{H(`*+wkh1 z!KNuxFkjznl*8Z1T@P*Hdx1y8vSez<4!*jKVOF65MJj$%@oHzx&}9*{WKdTotHItA z1uW@TQ2csZb}P6H?yTN^X2>9URV8f>!={7oM2pK$+tiPz5#4R_uP`#6s)Hauy^+g} zZ%lW^UYv{f&3Y$)YYa&0y!!q>@J~t(4$4LK&{Hkwd)+xo`SUB?XxKG_8=9zRc@0r~ z6>zhZAD=JwxOMH#NwXZKin+u3AC@*);$bGRo7P$sr*YL*1-D9?Jz}I_BbgPrtZd8( zM@^ECZPc!LbbLtASOcG4u%mU+SvF8UA$P;3D558%L)@Zsj5tS%i*wnftKFTat3g*! z)k1c*WPd>DaMC?keOViOk&h4qrPD~ycYMOR>Xs_&*6wG!L|YOFxjF-rQf@ITXi_VS z;t#dWsu3|T3ix118n4e@U@nf?*UR&Kz8WvFa!m~{6;wBom|yUo=rGx_?qvA$hXAL) zOV@JlTJ^iQKljhy-hkdbG2_i+GggN9J=Lk;j3`grBYBWQK5?7-%Eh{o+U{+ZHOVr+ z+*jofsO=Ql!z=x`HXfhk1X@QCmI0qW=F~@aD|DTJGXa{chx#-4lZUt4IR|ed!>zQL zvl-B{P<6KqA+5?MmCbeX6Pt4@-ku_|l>~j9n@aMHS5`n%{LoIfMH-E0%0`D_&I7O# zm%BP~X;;!F7>UYgSgX*@Snp@`eto2FXe!PjPWb+6Oeep=u1N=9x0SKh_w*WdoIe8SE zLK;(IDQxE&mKP=efB-w*5!7$~`~cfafK^SD#J+^7HSDI6Anz<5M&C8F<=xJTX^h)m z^`d*XV{uJ@!WH55E)BJxfQ(|v2o)U+Y7^Ktd@~8 zl{km(-9<=_{jOyk;X&kMWq(**h;r0N<;-tXu@Lhk*-B#XWtxu-wWarDzxjx#J8uei zKTx$;fE~~K()g|+lQHaS#@!3m%cVw$U3QS;kWH6ROrlDsYQHG6;59Mq z3*&Ye_cGL#BTS8waV?aYhA)m2fxb8tT2%qiWH;?Q-k{{(4rdx?|8-y*OlskiUyUqs znR`>?%NcB|Qy^0NU$Gm_Qj?g6-dTTQtEikdw$_}pw7>Hz%~=-j=liC4*K#v5(Kf*> zrAQ(ysyTP}79TNv_-0&sqLM0Xd2Q}2%l_-syNRZaN!~@TKxw)M&y*{*@1Br)pK+q@ z7`wbC*###&PT;-M&ac-Mt0}*>7fmM`$At`b-&HP8{HP>IzdL%T83*|jdtcIy>2>LR z7wfrUUn`hTmBq3;>%bbZ;J?kG{h;_3s0^`hSvfJ|@us?IS4^W1DEi%|Llya6*137F z&hE!2R`s!}1|^oDY*!Dl#ChtOR(!NfrSBwFKTh8n+b4S@k!HtVzoBq3#8`U`;s!|(TPg15d?U$#(5I|rB~QfA3#Gbn0leCkqhnOOwO8S*{a z`!^I{|E8tt7&rHe;ihJjoDQigH~Om0y&dxvoqtlSxcQ54+KMWc!?FN{7Y)n);Wzwm z!a@tpTAq^8jgXWK<{`h(->s}6)J|^9^4si9;Oz8uJtp@o~GCZ%V9d8)8u1OMMOycbc588(o$ U&v%3!xrCFI{7(WRX7u_00Mb(2$N&HU literal 0 HcmV?d00001 diff --git a/docs/images/performance/rle_int32_len_500.png b/docs/images/performance/rle_int32_len_500.png new file mode 100644 index 0000000000000000000000000000000000000000..2334b919f4827acdd61eda40f15e455883045a64 GIT binary patch literal 10635 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 literal 0 HcmV?d00001 diff --git a/docs/images/performance/scan_int64.png b/docs/images/performance/scan_int64.png new file mode 100644 index 0000000000000000000000000000000000000000..1b33e3a79b524c61ae4247f48a4df183c9f25835 GIT binary patch literal 10591 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
0d*SF6i<@26ax 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 ZA6(;Jzug3GVKmpbG(lOOSU7PksO3 ztD3Fdz4z8k-2)C-ngUfE9uM?m>cmzS0wg5B-9-5LXfh z0BU1V?~M_l|B)T!besVIjGpHY%z%A~834ez{9a02!^7Yx)5?~1z;(b&#Q^4BiGo@u zY|NM??Y)s7(q^v7(kWtOfgNWAZ+sUfnu*n$K13@bMKS**OsqV+?o-t`TgPo8`asoF zT5*~9p;IzSKq>&k1fEg`!(to1wv8eW5CCJ^xGGo;2A9V|tgbYD#yZ7*JB6;zojjC* z4YlUVua#H9t_tEXFjxR+3;2yCkV>XT#fan&cy1i9wJB9scQ?qDQPs_mvVKBm^ai;9 z?%hyhMM8+PHVQr8GgU^^)y!Lt;#(IIJbf2M-r6bu;lT0lIWd-^k*HRIGSc74$$Mc- z$vx_YzaC*o!g5~*@b{O6Sa0a?s*7 z<$c392f3RD0<#F(KP8R-Lurj>0j z-?GV7gvhkmZvuYP7;{%wS1T)I^jENyfaew{#)2EV>_U~!S&_)Mx5w|+Pk?d&Pu*(M zvdG$i`|<*?@E2ix*T}`xtKA`{z_2}!3X^^lFg;&O5EZ@%|C^5e45lbeFMTw4F#x<+ zPJ;hc)aS&s6>rfQma*7UX*52UiPMjT`e}95w{jN5=fS!5KC299R>HrB6PY`h`;aLo zL&OXXH-PSI2trVcmQ`)+g5T0lQrgy)aWQ_J?IX|U+3m+9*rEtFTX7*HC5?)T%1H>sFO_^S>#99{W z#;JK|y`BG2{WWV!sJ>0(w23=^n<`FAHrfmwHe1=NXAe-sv8-VIt;vweoq15gSt}P8 zyIA}_q%R@oH07Xjs^o;BX0#BtFW8v=FMe>66aY6gzAH}`>q`(!fXn>-Y z6zg({)};m;if}kL#d;avNJ5a4La*X9Y2>2{MIRtOdcpF7_Lbe%))vBXB5l7$f0sJ9 z^{AYkqO1A(dR4R)vf~Zs04asqRxUAgqNA|=ArVDCmJ$C-pSvL@>t1`@_YYZnzKeUn z%EDV$pEb+*hUy}neo?_RvrEa5mvnR|LLsxhytY;-j!Oa#ue`*aSze6Sw;PDjT3Aub z!s`-;&b=p%g8_R1k)jq)rGnnoRT`^`s}*i&v)i|!l;k#{@Bz%}Pe+QkvtXUw(r6`V zvfQ`hc*=^&OCM$U=!NH<8W*&#n1^ibFT`Jk1p<(0r8bX10g#9)ghg&$ikwL)Vy_rN z8GN6&k@VeH{W2BUOsM%y_}Tlx;idG%)^*IMiA=hiB!&!Ib|aw5<*K*Dsbn?@i(f~$ zbchlNTF{XE{X@ixMbpNF$4<9svRj^Z$I_{%!M_#161m>)H^K!;+8cZ~d(5@JIA`F~ zElhid@A0d5_>Gq;=7hbq;3Vr3umM>z3qarDF#-oCx#0&Pe0HU9`Wv$qBp2ljjSX+C z{R`Rp*5bFmLVl;K=!=BV)K}=lASs1)zQYROp zkHrf&k-tmTiP6lWO-YzBl2fv$-NZT3~*Yyd-#MaLN41@J07BGhUA@`JE zjKHZ4{}b9Cn>$O90^yH_t#1~Akh<4zL}puXUa*Y^zNL?=ZBSOdTAlSXd1wPIuMV$r zUS$KdyaXU%aLn`LQp3F127cOz^(!lzrRC*!LP7;6gW$2zQI|H-Xcbu*8Cawsb+N8E zfF}_K8X5ot>4F7@m_b;#gFPke=M1Xm8LN=j)$h$s$~D=ChlgU7>|Ni`xIYDCLwV#D zGkuD~-C0|GmT^pC-Xe8@%=wu~6GIs~P_hDp8yaSnj@;T-p(ZteZ0K9L`O$=JapY1O+`{lwuD7N+A#yqP9^1se|Y-k zcVYgz1D{#2aJk?UQEcVNn#-k}MPSVACkUbPZ65&jEaixKQB}^<{2q^#Y z7Ohy9=`?QAH^~j(J}w$217}A192_>}=Y^-76ol8OM`J{vQC^}{tLRP5%XilWq(MUt z>OeQNo5w|*wZ^m_b_&J-w# ze&Ibpv8!ouE!SM)59B`-*LCZ!QRiSE!w?n|6M>11+rmdNDd`XRK*qE0h}+$x>UTYF z(0|E6mgMeu8?lALiIuXrm`Q=Xkg81zG)659*{vIzkUhk>w7PlhouqDoN7@ed9~eBH zvRW~yj%`Z8UVW{X0<`DfMQMz`OI`1)^(P?PsGw~OrT=M(?3pny|31y*__f+)c4&6|qK zu)X8~>y@j}Pgbs~&%E6w8o*`)^g=~I#yE{`45@`6JIj^+jN^Rb+KS@AHL@2;(3}q# zq)J>@x?-e8O&ofdp5<7v;9S6(>6_Q-bz_BJe{6For8j2rm&ZrgM)*SQBG&)(*<%B4lJOOY**zf%W=6!8#Q4)V7??@ z7RW8>Y-Ev5*u|R2O%QA!EI2->|< zt2CJ5em*Y}B^i7L$@x%eT4keZElV@cuBG~;%RBh-EIbb2k`1>U8niDeSi9w+vQWvk zIi|UJZ7z(D+Bu=pa}&gLNH8f?l(P;of-oZdI5_|or0rP1kwN7dQWl8&5>ai%1UT`J8CyWbLZ+XAJ5VF%;sKs5UvBgfL?wG!mAq7NzLWO>Ngdpf($r zfj_T*Pc30;5rD?XGBV|y*|J^<;r5o>Av7Oer~+=~vxzuPp@Jo4q00q;|L#FlriY{b zhGDw_U5u!hRK@?5o<_@B9u*-yTC8j+jaW`Ia!U%EyqZaG%!!@+qyZaDo%Z*x&qD~& z%i@&m@cN2`dWX|)(^i5mSd9GaV_96ngC@xNA)ejecrkim0(fv7IDss51q2T+kY#AlZK-`W7-rYaZ{Zb10uWh=us3P)&4!tevxB=q$>7$IfY_#@4nC3+mNP-4+LR3&S#6r&rJrrrf=7$ z7b$8;*)iL`1|_ul5P=zTBKb>|Nw6X|QhC zazN|fJs=9%f778+JjvRHx`qJ7jEJ|95=QuPzTmj`oAnkGXC$qio!J_jt(193On6}n z!iLFm+>#6EndiM6Knc`1t-^8xIS`Ir!bmx*VpXuc?+*UKui2@v(9n{Z8Fm-A9+x2- zmRXi?vCTIB^eV!RD<9DDjAZr((uEgwQRMgAp!Oh<&O0tY#GSJQY8RRj4q)(zRkx~h zNzM~Wk*aEgppFciN|F`=!V9}j3ASGcc+5j5_Emk*c9EPxDEifV)(~B*1bQsB=M{yv zE^O3i|t%!=##Cgab zLm$e(l!@>h#wlf=tVYL}3hU@Uc=)eB|V5_0#=>LOe*Hqs~C4PS9rFWSd~4h5D}jpQfwT_sGCC* zeHb=X@#E6C9Y~2N%kU$;l3+6=_FzOZza!SXN`sdq80v{%QpJSy;!Qs?wIy>m1(dI6 z+{t!0r;Au^m@v4zr4z+Nt1Bt7F4tLed1S_EDH#VP4VeG(465hEray!6y%W4uyrf*X z`pXo9G5`oun;`a8Vvsiz` zDz6Nu|N4a_!jQXqYQjh;%Af=Li}4{FDLC=1pnv%H4-raUQpKfh~WFMAPhe~XMM4rFwOm2SeO0G&A5RRb`b}L zr`OpnBU_l6uIlXF{e?M(;_%OO`cZbI`X6ZlnpSWzWmnN4K5^^(p7KG&Z_=c*vd2*zSyuMj=Xb`3=&jM9q91 zsV0V&X&Sd@qFF+oXAQdJS;Ahsqp$A_ZF zvWq|=C)E6I{?0QLSI2{WNlD3B2!s%9WegUIA25bcK_P0h=upqlCsFkJHd?Hc!2}E| z8kuG2liC^NblZBFc)=oXWVrBWP+L>sPGLz1TI+s2`a}|*P5CDnfB)^s3xN;julqSM zM}je2E&4QXnh~AxLmYOz;W7X4V3T_#oX16s~5bzInc=+l& zVYUOi%1(yvkNamO%z3x92SKKU;+ zWf?uV%gp%7rscb}qVjl6?fG>|V-mHfq6M2TBOQ{LsU7NSu~N4=kTq-on=3|H4X-;U zY!_B)o>MzvVOPg-gS5!Chw=Cz=vNT~W|8OHJ(wYxfjNviZ*Z>6wojT>TcD`w{H!lv z*5esYIx%y}WE&bwr~vy-;Ps|1G!%v9{p|{t)CROFKiDZ{drUJpj&AIrO;#^gKP-tF zn&h+9#~)qZ?dMscB^VTLcswN6H$Iu>R~d?s8ux?`o|^UCD-tCYbBnXKA0ZDxqwgNe zhz;mEXVRE9Z24oNbV=ljtmoQyZ;pbK48s67B0)C?@i$0ohSQkn%`7+c+Mj&dCqZ+b485dn zuxIyI*K8LOkj;XFK4z3d+@zsw?-X<*#F3CN*)P?U>}M}J|D4I+ZV7(r_?6-AeO7!B z{8MReB!IapF+3WrrFrdP8*>i1=Wru_*1?w^O|nsHl|iryF;t&6N)J*0CB^Luht_R% zp&VxQVN0pDZu)~q0ds5KE@unbf4fTmX5st3@0YUA0uG-|xlF>sn^14^84t!ghj*`{ zr&p#Fben@xyJDXX8r?;WVJQvXGVM&`NmO4rE%+Z(=HUL}G}f*#>tRnQ{iHW|lsN}% z1g=bUY}Ap^sy{M{8Z168o>MrtNRrqzs%f(cfuU z(C=ui>ESB%RORjUud5U9-5!jG!uF0lu2g>JZ}kxv7nJ6Q|{x0ls^J}wt$xF>&QBEJXTDzfWT-H9Z%nw%&i8%{2& z9h^4@@AU7?eK-FR;qJk93$_dizPf+?mP(}}s>x(S1UF`} zR}j~bKd32e(8L0r)7wy$1EL$5qVHX^pL|y$ zV>-8*PfERi;{U{!+whp`?sEx8Y*ixi#B@NcH01@}U6MFE4~Kp(C=fZhWPWwb#y3-V zeUt5T_HfkK9%5`QIV>j(Tu`hVEkezQRn+n)5lJokM!g1cU`IbW;oPk-Pmzj-{}=VH#%%A}}O(9YPCh)>bNEmq|qVz%T9 z>D(`s<;E&jdAgW^o7pI`ia$yxNdQ^jx@-)7AA=RTgS0-mPdp;}9VZ-j+aeyr2V_hC z*eG}F-y%tYu{zh`mRoHc$B5jyQ9-Ff|!&D3L zm{0&4UQ7%lpm`k>NsXyC{l{kEalbX6W*F~sb3`VqpLAoe;AUznuIz?4&gmnDsZOH- z*d@G~tdY3zP5y|$IDX{dsf+(g2b($`oCtX|M`&)+u$Yq2Ye(cJAxnBqB36`C5TBcC zZ)M3sK0>nhc0h}*;?31nSGjtlQ7@>|`q)>q;ze{F*Y1TY=XV4BxOlM=a$$$!K zHf8n_^e9SkGa7LJQi8vjnQzwBbrY%ir*x&PkJmp%0yB|Gv2fr)u>j$loBHa9G0d4f z_FKWp=+VH1-3OUnNw#z6jgfp&O|szrNR8mNGwRNjq-_Y-c`0`y(%NCeY_S^pwxv~a z(IDKte#=d0j@v}>qb9ehz8b4;J+GT<88K-$w9wdx-{0NYIX=6x_dO>8rEPeKuQ9}5 zlcYuw_#L0u7A5cbE`y?pL_J8I;_j6{6L-H}tuoxku>SbuHM7&y)P#YFnd;4;JUTi` zih38v&<|IA{JFyJTvHsRv~`%_{oD1oG>woyXeEE=FKmfe`Al~924(8d+YV@kziJIJ ztda}W@Brn?+tjaiW_t%h2=9pen57nTN|=ZOIQY3PsSj>{vE>-_o&*Zm2SfdD0Dn|z ztMo$%v+^~@1IdR|4kq}o*$wpk=pO>yV87mfckv3G(oNpi3Qw=nF`uz(AIW$2CK@O> zX>U=$ln<0vQod>NQ^;7$B&Mm+QpplR3l|+b|9Y8cSn^g##6?P>Z`JGv`IuvNp8I{^qCaXl$j?7nw}Ncfof5=JwZg%kI} z!d|zbe0K{Yp?t;2lAMyC+&#Wnc27Dy<+NFIgGAA@V-a_9vl(8auDT7_`k^MX8S!#`rWl&3tyF9`+6U{KNSdFP2!%o-QJE8 z7Tv&O+c&a|C&=}$r=)Aj&pRZs5EOt>CZC0b9Grn)4%E^-Q_2;;7uvGk=ul~3!oGt^ z_5qgqLv#PJf}o=nuU0c7j8!WMR1{Vbh+EOzttLmb7<(}!R94e9Y%LI;w-_KjKTi^0` zBr?o={^8gRn(WO4&8Pmn-KkyXv(;KX3O!sxYB@SA(;E3k6%Mve-IFCJd0ph=<0(bt zl>5e6#d|$8Q%`_NjbX>9OKUMeJU;t?)6yIP&Tj=2k!lyoajY_qY7gTL;G4P&c}c$bZm z6V_w@^0#g>KR>$eJ~hMD&L`tKCg*5Aiwm)B!HAbn};oR>yghj;M_lhF3{(1|3 zdD|ml^z=Hq!~2bstDs z3v?~~MG#zE&6?GaM z2p-8S8Sr^Kswp!TxyQs@4ZS3$8)=b`%fhA%O9=^)$fFXw5nkU&w8 z47Ii23w?Z~L>GDU6L;d4HjvnBV-EEsl;=7^e|XmfY{{L>IQshSz#bdOm`x8){*o)e z=&e@uo2S2j5<0a&2iFk8#~zw%ioe`Xg|QK|VLH*U%Oh)aBjC0awg_Fz;dn*z(AG$U zl%3F^-;`Kn0a)T0W3??czes=yIYp*OHx4rZ1*nL{gDcnTqz|PW!Q^v1c)5(EUGjK_ zrPWoQBCDLfa~g*|kKc#G>LZebSYHAGXX8@h*seG9n|udpi#enWdHrWGanV2?S`P#ZreT$4qxc^I22S0_);D|LI&&0e&y zKuc?}78;W>4%oDkZteind9ZdFMZT1&Idt2R1(OIj&Iy2jjk)Q1(%R}kiBu2;hzAx{ zh=Zgv;8%H4_VNsz(!h0EAk2$rfj>YB$zx;zztpl}vXQTDWRJp=x@KIu;bjZ{oqwoz zif}BRC==ZCqqev?1q@04GED;PpBT_J)#SNfOB;*tGanEWw*`6?P6(YV;w3BA#Z;7k zb-gV;s;`om-6ge%UV*5Mll$U3>3On^H7Fwtw3( z0kb#)pA3^-Wk< zkMWi;Wt#$<)RF|LmuEMt1IEva0kj#>eDx2bT7D6E0Px*d{!a!(AOXUEdI2R2?07yK zK?!5p!vJzgu)@nG&2~C~9_@UsV-n-}At$+f25o$(U+YXL@~O5>N#nEek?c& zaJhOHQ{5J(U^YPEt~knyhHvsJD`A9pw->e8G?wo{xK9CYz$(`gvEVZE-N_llawIsN zE$j`U&Uq9?*2bKK+n;^1fn#cg4QEuQf@-A??AXF;^yPOCD^L<3j-j@pvYQ6~>AQ)a9BUO8uC%h`ErStI0zc@6XUQmXLwR5vO%R{c>gBwo+*x=K3a z_>3Zw8VCQ3y>lj?bKc;anM#<5jE7bl7~;>d6pvaL!U^=Vhe!Pu=si5 zS*Z@({m!2AHgk{TzG|o>{!1WVou_nA1##s!%$bY&xrD~J^jnermLOWj9UWA40gZYT z=_J|(ao-U;*3(xfuWuVg2>jR&D%A)JQPlB{{kjbn-)Itz5Ec0vdxlLKkT;l8d!j~` z;gn$E4}G6kCt_vt8cWKnaj*d)*?BcD6_bd2?a%PM80x`M094E)`3^R@aj0Q*c~H`n zX~s}z&_I%`CLA}nH;rf&ILo~dY@ICQKaf$9BPfm*TPy5WI_xO$lS9Woq z$Sz9zrSJn$gx+IB$igOhOY0IgUED{Al$U5)zWedcvE&hWKX)a;aJ&1bI7AbH(|CcZ zlh3?li7A!oBI$nD*Cg9FX(|#6iRoa0br$iTuT!Rq*((vrhlU@#h-tql0W(tL>wM=a zhQ-(V9p6*O(AVncOCp?x1Pvx>w*y_GfN*Z&GQeKK=|63Z-61ZP9a04wPJA|&_DH;xL2yGj2lO zg4bc(%TiYcJ2OViyHsT=F=iRV*2_QL!rU!^E1W;;IJYyw$r zgj1x5rqtWrSE)#_${ebztf^=9G?i`>XR4tk1D122sqfk0_~3?p-M~p#P8_BBl5Bb| zohO4d)R+m(6c(57Vx_}zRo4z@WJ#BPciIl|ZTQ`SC%b~_fKacTMt#DUh0Nc6GvackzXGbap zfAy`IfTW~t!QiIH(|DpI3!$L7jSB#L->~ukiNS0%xxBB%jQOA;+lqY>QXeLrXECJC zcK8#!##QA>#TG}1_UY|e!XdKcf;dy8hbcRCJAJx^<2$kL8h)`vYmEaFbH`q31lOWB zN=(05S-wsdGCD7k@k_%xK&I3~_mW5OL^H>N2?Ah6U@ zWMynz!VRGpM!z{vBOiy_YudZ0oHhEUCXUQ+`j0}Snidb^DeQZbq}hGl3s$`lPPnD4 zx;6T^>r~aVLlt*N!j)|c@gIeWs_|ZN!&G&io@wjsvy|x_@}HHG>F()xeFs2w#NQHF z@LZ3MmdOpNa#YV=3IBybbExQhk1$T0O`RkZ zW03Y6QwxymfX4zwsw3>mHDuKKY_;Lhhzh9w(1)Qy7-PeIPwUc>ADDmsg-ZT z)S!NPfu1)Y+M~W?7XvFr_sN}Karf&NcnQZDJPJ0>({O}t%|0I>2!}TU({@YG zz1-!39_<>+iFo&dQ?xk#ka#3Q&1c;jfHVk2ExI74gO_s$U*!Nr3e@@<=r0Ht1W-&y zD=WeMhiGEdFez-|4r;tF`!HxweB&y~Q~v)PFyIMsrJXtV7*lT@dh`?UURqhIO2R1c Ef0>IC`v3p{ literal 0 HcmV?d00001 diff --git a/docs/images/performance/select_if_int32_5_percent.png b/docs/images/performance/select_if_int32_5_percent.png new file mode 100644 index 0000000000000000000000000000000000000000..ff89c6f44c155865e60ca87f76de8ad54412f39a GIT binary patch literal 11178 zcmd5?1y@^5v;~?LcXyZKE~U7;6sNcscZcE>_ux{bNO5;QG<J;_gn77wCKc;jJ}U zN$#CHcjnBQz4tjYKa>@vkP!$FprD|TWu(Pbp`c&{A-{XzU|z5EL}5d|02U$&B2ZA( zv51dG?;-!;9i+9Lp`cKDUO&(S_Qj@9Pz>@i;v#Au`o~%RHq@G~0|S4TT9f1Mf;2{B z6@qgR`%A@3=+B7~LRGumplGpZt*99Hb_D2T9z|OVm(r
uD^j)H?f!%i{_af2o{ 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 literal 0 HcmV?d00001 diff --git a/docs/images/performance/select_if_int64_50_percent.png b/docs/images/performance/select_if_int64_50_percent.png new file mode 100644 index 0000000000000000000000000000000000000000..374a1b76e09cf6b5e57432f5a0e1a737c6af632c GIT binary patch literal 10624 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�*iaG@>!K($vdTi+YnNj0 z(i!kpbpb-{HawDR7XK&`wld!~VIRfHWzj6B$5DNh8LjB`-%(|g!hjE(F^_cQK5r(M zNLZ!MP<@gqzv;{`+m%ZA3BsI|-YK(mOQW@$Ed0ZGAc!}%6UtNA&TGwcZ@ha}0d`YQ z#5bEZ?$$TJ@2#H#S7OCEMZ>>!N-Ri8z2h8YHgt--K`JFRE=IgtJT`S0LdBVHr@+{Y zJ6FLqpW|S*uvEQgSiIy~8?$uhgFA%Hz%cS~uCWqi>`)vCWI$|L?R03zSh#Oc36 z2ZQcPA19Tj>lG`l&vBp;scohlGCKgY?yl;7pH(bAmq$JY?=fcIrlh;$5dUQ0ENwU^ zREqW+O*EI=+A0`xjr$|n_=T@H5OcbTyh|r&F->;>|ui|rokwIt$-;t zN6~bcbxwmW{@b^9;#571rrk|MRWR}4&hqQ&n#!H73Z7w!>-)N7%Z(EV3XAPK40V(*fe zc!eiBbl?5ZuM9)4m0rOwWmn<0%3QCp12F{2HnKuF{(pz;cz%QW`=~Y;3u_iqLJ5$O M`1qkh%)tNu08Dm*{Qv*} literal 0 HcmV?d00001 diff --git a/docs/images/performance/select_if_int64_5_percent.png b/docs/images/performance/select_if_int64_5_percent.png new file mode 100644 index 0000000000000000000000000000000000000000..cb1afbdf059d66fbf9e733c62fdacb7d38489dff GIT binary patch literal 10913 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 literal 0 HcmV?d00001 diff --git a/docs/images/performance/select_unique_int32_len_5.png b/docs/images/performance/select_unique_int32_len_5.png new file mode 100644 index 0000000000000000000000000000000000000000..5043ebdd3e64d7c890785d013d360147b7b5944c GIT binary patch literal 10186 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

kx-#!U>Lh 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 LPZg(Z8}okv%MRk% literal 0 HcmV?d00001 diff --git a/docs/images/performance/select_unique_int32_len_500.png b/docs/images/performance/select_unique_int32_len_500.png new file mode 100644 index 0000000000000000000000000000000000000000..d711d296ef1485ce6e1cae781a2e08032f1cddcc GIT binary patch literal 10970 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 literal 0 HcmV?d00001 diff --git a/docs/images/performance/select_unique_int64_len_500.png b/docs/images/performance/select_unique_int64_len_500.png new file mode 100644 index 0000000000000000000000000000000000000000..709943555b3e97ee1cb64857bb5537e05246cced GIT binary patch literal 11131 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 a^85{lD{br3Q1&et=toNIi)bZ4Kj43+-lQV{ literal 0 HcmV?d00001