From 68283def4eaac242102d18e8d196248c100ae933 Mon Sep 17 00:00:00 2001 From: Willy <63505597+willysoft@users.noreply.github.com> Date: Fri, 18 Apr 2025 23:11:06 +0800 Subject: [PATCH] chore: Add Sieve integration and update QueryPerformance benchmarks - Added Sieve package (v2.5.5) to the benchmark project. - Enhanced QueryPerformance.cs with Sieve-specific benchmarks. - Renamed benchmark methods for better clarity (e.g., AutoQuery_FilterSortSelectPage). - Added Sieve test data and configuration setup in the benchmark. - Updated benchmarks.jpg to reflect the latest benchmark results. --- imgs/benchmarks.jpg | Bin 28378 -> 100619 bytes .../AutoQuery.Benchmark.csproj | 1 + .../Benchmarks/QueryPerformance.cs | 70 ++++++++++++++++-- 3 files changed, 64 insertions(+), 7 deletions(-) diff --git a/imgs/benchmarks.jpg b/imgs/benchmarks.jpg index 80d16648ebe16ca404118b6c0c9e98b6a3f45baa..fe8e393ed1846a385bdc7ee9f6edea6d92794688 100644 GIT binary patch literal 100619 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�(3AR_=Lvn((<78<2Uj%Bm%8gMV# zIxQ+sNP}0HXMRdnjO9us7v)Jdc75?BL+`!2`P`whBUKn8vQ%IspE0nxxiUa=A*iOR z1>sk^*Gh}G%-IpeIrhvmCw11rsNAWY2g}+>Y+rV2HVP~UtDMA*6C3)30zRwH2S2N? zPu*YQri*w9f{0u<@Qf`72N5s7NXtQ=fIS^t-Pbzsv-QyFk-T%P37#eUp=$cfvX^)%y z{7h4Dq#HT4^^NO@FCvcM-t;B~AK%T3cQ&);1CE|TbX_=Iy1R+|cgwiQL$4`@(zu+3 zVfVVA)I^SMW|}A|1jQtAKod_BDh&7Ta}+RQy0hXtZE7A`-JQzusIAwGc(6p1;KLDZ zB|Z+(E)$|EaS=bMDl8A=(!a}ho$6oj>ogHGs?1KBfJp+37js=2VZgPDO}a1ERHVrP zP2;@I^=9)iD^{+@L$MS;yA%ihF7F3jc=Jm&TH{kfiFsDyc8O`1d6cO?aEeVltM zjmq|sM`h3a1KesjeRp^A;4dQ+^Z?}jrKtywlh{J+;$ z!*MC$7pIU70{0{Thtn)q)j4;5aVWU;((gOQlOAp@+<}02V<4*UGa`!i1+ReHqUm*v zq*O;JU;3?aCu;kVWPsEy1glFkkgFz=jmduS#t3*L(-&W#Bj0?5}zsX)%yw; zD$f&}nJMkr`K~D^%fy|u4^=fbtKnq=1y1+Ruul1!M|Bz&Tx38+Wh5IAzq7aDTaNp( z%zSyx*lp;)P3qGS8t}o zoEzxB7*yZw?FcX?)Q%TC@y|bd`D*8hXV$Mx8s1tL$m5F~<@@I%sE`_nHYPS(MR)d2 zMdI_dXsUIlJck=eZ9{<4PDjwr&|8vuaajK{~V`ESqWd5EbawHGa-H@ zL~=`H!-S$}g>#zNpiLlu%AL@)_q#)*>WiLePFNV*=RzvJ;=qAjWe`2I`&Fr#ho1L_ zX|1DgMpJc5i=?u7UQ4ktkt-kB#sXz=N~^DzUyUqlO-Gph?zf5eOGz;K@VJd_#K!>` zN{A^~xOV6&N^sGQGK0@;f-+#`?<8YQ>~!xhSsy_kBn#&x+H_tz4)QcP;}>mQE2%tW z9zn(?xgl3v-DeDbts_dLbU$)Xo>OAnFN0u`c$KIfhOS1QT3j_MmEVp|(Ph65l1Ixk z|AD*#s+eV*N%~_=DY+23KwDlD7^H*M|Kq;BI0oOfB+D}Y^}FEChZ{7)m2Eq1#R9aU zO{5C@rxLkQC8Zt5ezhpg84bsY-lP$0eX#o?NBctTJ4wVPVt%);{6+usce+tR<8U{& zyA783o^KxTb5llMO2!J&#gKLy8X`)Y_{9gyGHCFU{dT?PGP6xwegEjmcf;ge+1MMQ z%`hGQGpacr*N`V6wI1h5$w@lWjn2hoRj7&Dd=E)6Bd9o;I-{{yGeBI<+YFz3DNR&|<3pkyvk{G>Dnq>)ncLQU> z9i4;Uv=6;+Y1wF`jeTJW=_}6AgX?(ZWiO>%po82U-I`Q>t_D9m7e@!*Ay&EHBE~T0 zj&a5FT&1FjTJOA{oG_;$yADc57+jPn3Io+c-Cj}J^)TacpAit@o%NQnic?csP>qgX z-^VNlPR~D=EO*k{R3bTUozq};9G8Zpk22Yetv^_qIWto{w~M)a$>?*Vj4YQDu%Fu{ zvmdVU^*(D#VePn!8*>?ljAj_=>FjB(*KQoMU%^1BU980LS0bYGXM(C;^ z4WR!01lkp&sEdJXwa;@R|IRm5Zl;QV72%vmRQBpMXc`ddtd18E*TEdXa9T}o=hHbU0c`9`A*hr zeW0i3b4a)6Mg2weip+T|Np~7DBn@0kPkfJtgHyJ0Y7id}t#1&?F}|gkLBDQ!SR~wR zP8(#uWZspzt%vw*X#4C{<=SsKvdH6kV&$yr7My4)2`|ea_Ay@X+viKdqfJ54l2Jcpp~`0-wK#2$Q4< zZ{;9H0@;%JxRfZ(rp#cm=GCew-h@{bQ&$YtRlFDD*k@4$@s-t+^Jvp-O7lrj;Qsv3 z>_iKqb{lL+e+Z2tU4;k}HS(P90ewgsOS0!SWz#&^ne|tlJT0NhzUfcne_x_tgD0xC z^-6V-Msp|+5uqeO94V<_-qKnlDA#<`V9g>m3PMD51Z9d<_g~z$+ zuex5x%UaL3WM^mBJHs?BbvtvyNxZ~b_;3N(;3a8%>`gtW;r`jPS36PSrSE?A%Qwb3 zDqet65k)F*fElr1K4R7UrSw%CeAY7#yDBmBao7zot1s14JCgkEDbZmgU>uI1N4o=F z!~e!%wo)r5dc7J~)O7u3uDa?{&j7MzWr-Y=kbT@Rq>S(JiXntVaa8yAa70+$LE=T4 ze7NNe)6&)y&5&O^A+gMur*`KIX$;QXtPgxCb}4Ook^1CE2e3S zA8*#=tmcmjHVS!Iq&EMmFt5c@c+`F7o{wp%^)cih9A}^U%0Z)%H)|I@1q)?%wmyj9 z^SOrAR1H;qAphu>Jy*TnkUaBVEp*D(6xB>#PHY|MQKrV9+lCvvk=`MuAZ!Q6n_q;Zledgk1 zDyiUh4IlGOv7EQppR=S`l zflzUBCmJAe5fC2W#pRIbpg%%76le%41l`H=g=&9K*E5au-t_o}sUEK#Q&izFB``{D zB>D*aPEB4QGfj$MnR0jmfku@ejES1KKy6|-p2NKQ$Jnly%vzRiAr*EM9 zdpGt^3ZD-t>qT&JzBvxT<+t8Fe-5nusK|~zdJsC8XXIVZD{1CgKH7ao(m!O$hPVIr zp7b%XF7u5fr=ZVOa(%o6?(+62Y=G9M;|Z%lG?`9_Z^~rnv^bTX;cMWCF{>?tvh3*g z!M9+H7fvZc-?Fh@1RlzWBX8dyUAnauJjYw^brhlOYrT5qWdMJ0@R?3`HN zo!LG~>8*#dJc?+`PB|uvxKIUS4lE4?Xo2P^Z4{zWFuTDVN;a?E?>bwY&%fR|ODnh~ zQ7{`kYJK(mk}dAI$J3de8&~l))i0PibpvkYf9DQlW!j(D=Kc?j;XZ?mlY?$~hAwxO zbNx|8j-``Ys&j)?)xvi6vin}Nm6vpO-#71yNC4Z_SwGp9zCROb70FKXsLZT<+*w^f zrrAedQ;EG|PzpZ!{NRP)mI~2fFN~{~<8Qu-kw*i+lzP7qKDu*EDx<3X(&E$4WzHNG zjWfT#N(^^cx6isV>t9hUzD|V$oyj0;@`xSNnjaTd1lG(MWRqsye z&aqEL$w0#fNOCr?Y!`a3Y+CtaDKWzT&1lV5i;h#CgeF@SwIKJK4;JB+*Qr_tsPp#TB(bAKv<+G9-jx$A&%DLXj)QmaeqD~*waZ}fNn)jifhsUraTV&SY~MMe z7I391m7Kt4xbb(-Kx;%Zf$36?Ddpj1SJxRxPG<1V*I~xF1^PqHQ8yK5(Xe2$N@5^Z zwgyTIHh!t4fTY&)olQ4L>(Tn|vttle6+;U>fFq*y2gLe15AM9|KWo#1mTQr6g`pHYZGr z6~m`GP6B=Jovpda94-Ek5{S)&G>R%wuYB#KxfbXipl!L&%i~6hj0C=YW8Q9-rU7uX z0Vao9%YEe&`-3s%K0@g7he`;%Iqp5+O1{@ZvNBE>*_1H z1+JOww6wB#BS!V}5gGXfDoch_^#7pkJ)@d_yLV3%5s{|SI|_(WmEIANE+8PiLiIZ)>a{>F^nt<6X?m z#QzTEDvf$;ZJ#PEr74(EJbXnyFs>4JPut%<&~e$*4-a~`wEN@ktbuGRh~ zbJj^7MtSds6iNP?+C9n(UWM|ENJdqZTI;lH3si?9l*=_PknWUu%WRq_%}$`jNJU%S zByHSTvKF!$X1p?O_9|r9{{nF)A*WUO?bc(KC8Fd|#b(jpEVx&P`lJWO(HcZ|Ge?_T zMlQ=ETm9%~?c4G!Qx6GN#23*kfZ}+ubDfLR^K8?gx`c+il(1V%Oik)Tar&ZZYQe*v z5*9u(YAz>70+0O<+$6>~OO;t{Vd6-|{rb7D*v(pvK41c$HczWCAMYR(-)4=2Jc|hI zQd`eZ50!m#XQori9T=Vo2WI*DsoHQau>FN07CgI+65FX#bI~RvKg~KZIp7DAt_rVHLBlh{1JcWin8z<`GM+z|Exe=x?^%_) zZ|Q$*U9tV6H0tc!V1Nz=x_RAl3ZE6}b#>7SCD63V#IY5vb$8jY_kQZ@#{35_p@l0srC12Gw6UU67hW1PWwNU;SH!ipq7RQ@`N6&<)mx-(0 zAS@fMbS{~lSQ+L_ZFyA)+3MC0Ghmbcv%RBl~Fu$_0EJXJ3?_PzcPf}$;evW+n zv$yOM2b+=cJr*zn>zv+oTu}W;6QTd1RG&@?I)qoXD|=TJkZm<4HEFH#^mA+xW~~u7Z^PfqPF}ntnh%eA2w~on zaD+r1g0;pZ$t0;iC1{CY_ z^$sXiG|~X8@efUXHKD_NsMhzFXZ|)JsoBE9fAX+q*g!rDHd(LC#p0gl;DtmMrT>8I z5*2};3F7tX;2B?ODEx=U^sSy$cFHi@wc-xT!A~hy$1ksf37`ZNlNK9X|MXK3nrUNB zm?WyDI8kk6JBEut(V8>A#h#daI~ekkEk(vm?k-4}(%qd2Q}1n=d*y#)SSu?+GbKZ~ zt5r|ry2#(GFI7fkkgDq8U22y~lfGO_k%aFC24%e*c%#)kMv(0rX}%Y@Rz+FuMb#eg ztr1pt9l-=mzi?js=KrYpsr{UpZ?zq~D0a*BtFg?m-kH8~UlhY%7#kj$q@n#e6g71m zw4Y539d0J4z1JM}4_Zh4_nAR19(oVnF6H=j4qA0vy)Bqd`q!qqa^%~`q+91#(o5zk zF_w*EbwiS=`e(QXT?m*b!-z%x^&aJh9;ib=O3CAMGd{L>C4{P$uCFbCz9#UMJ1+$ z{^VFe31~5GHn=dx_kV-ynjoLjg&QOm}cTTFFzy0o-ae7+E#D2tC z3GoE*l+m4CTjy=;&BUp<%M9XtrR!QleLu;{Uq26$I@@_Rk6+qW=~rCR=8hDiLryH=$>84LkY{A7J0>t^q&UoDX&iZf`5u7;?ft>c~!4u zxw}Sx3c6rB1*$EI*KjL`WoRd6wfSx| zOqY*j`*PdPgh^?wU!5IJqc@Jv!rw#u5n^-t&mKN;yO93-MR|qU-K4j^$eFbtZj!c0 z%T!yQfYM4U8{cF5#wh2j2AWoX~#DP)VZWUVJ$coloNvQT8njUAy9zm7(&PLvwRRnl6odBf%F-slay51{AW8+9skv+8dEUpbIsU?hh(S3$tchp5#FY{$;@^#s za)?59Wralf#^Z0m)>mDbG(USdGsdgJoqCe6JS!J zE|rWG^|pw3Gkk%b$nzz9X07#IfHy)u`MR*Eo$!+V7cv)jrU!w;;Kj50Yj}9{T3*WTChfuWP8iVF%$uk+^L621u&`mvSD+dHuJPdb~{ru;BIpw_es%f%VIv0 zmi7+E_d^O_zdo{Y`fd?8Zx$f}d4Xx)*SZfNdlHVVrv3{_h~?_lrkF)F^bVZ$15=&) z6NOgouy$p?0L_X%$$!(Uw1~5pcUCuQq$t`C@g>9-rZ0ad1bqSIC?jDwXH+*T8mP?b zTGVT}df?Y?hH0@M?r|K@?V}92>WJE0ykzBf3KD;++?j||*S<1uzsBf?(ROQm+sF8A ziIZC_oG>zzzo;?MoqcvTXP_i9z3a&83suL?B}cV~C6m~2+R2e@^V3t5+6P4jh0FFh zIXT0Om-ismuiq|;sA#x{B`sB~0}1Up4sm%WH>fhBZRY+8XQFN6H^(89gdwy*p(vKS z(C_HKUUiSFXW+X-YOU9e!}&<9c@?_U3j#N=|NZBKhNAbY&s0;L6rmnw7O5YXLqX1v!OBTg}3jVPoxrw;dh-T z=bpvHt0&}|2O$PAar5~XXox0HXr0XwC{Njhc_sy`3QA5l+xqd-?-jG6#E}F$TnP7U z!_q=vnxVjE6Xj%)5Q2je*hn(kmwd+763c&no8^;Z@1Xpdi9uvFW*^0I`>JSQOo_5~ zlfd-aQ#+M+H8F^>wTN~0FSFK9klCnIV|8^i!e1js)V|+EyS0<|QGj1aOGmrH<)*F2 z-d4SO0B|A~{OhQyw#68;MP7rMccWqj?^0@l{OMmS@TEFe{g5|IN$(X5yO=)sMf{t% zIQ{4+N;1){55-XU7gl?(Y1DElEAH8gY;j@tm!w)5|7lg^M=c>QEiqEr7DzCYIQ4h4 zW^?3tw(9K=$FDzEru73DxOdIuf9j$ySR*+oj=*Yn%K-Tow)-s4ZtUPM?;v)?RfBBU z$1kE}#$Ye{q#5Tf*u-@J+XXpd57*ZM+pr&dc3qTKmzFU_jY=m$)4pXH-TxEDEP|3n zlm`yFzroAq z-0fXb+SL5)qWRtUcfoFme9tMcIeCWkSQ+qjRkq!B6;aB;X{re*35TAp{2mD$℘U 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 + diff --git a/sandbox/AutoQuery.Benchmark/Benchmarks/QueryPerformance.cs b/sandbox/AutoQuery.Benchmark/Benchmarks/QueryPerformance.cs index 68ee312..5e7c2af 100644 --- a/sandbox/AutoQuery.Benchmark/Benchmarks/QueryPerformance.cs +++ b/sandbox/AutoQuery.Benchmark/Benchmarks/QueryPerformance.cs @@ -1,6 +1,9 @@ using AutoQuery.Abstractions; using AutoQuery.Extensions; using BenchmarkDotNet.Attributes; +using Microsoft.Extensions.Options; +using Sieve.Models; +using Sieve.Services; using System.Linq.Dynamic.Core; using System.Reflection; @@ -11,7 +14,9 @@ public class QueryPerformance { private List _autoQueryTestData = null!; private List _dynamicLinqTestData = null!; + private List _sieveTestData = null!; private QueryProcessor _queryProcessor = null!; + private SieveProcessor _sieveProcessor = null!; [GlobalSetup] public void Setup() @@ -19,15 +24,27 @@ public void Setup() _queryProcessor = new QueryProcessor(); _queryProcessor.ApplyConfigurationsFromAssembly(Assembly.GetExecutingAssembly()); _autoQueryTestData = Enumerable.Range(1, 10000) - .Select(i => new TestData { Id = i, Name = $"Name{i}", Age = i % 100 }) - .ToList(); + .Select(i => new TestData { Id = i, Name = $"Name{i}", Age = i % 100 }) + .ToList(); _dynamicLinqTestData = Enumerable.Range(1, 10000) - .Select(i => new TestData { Id = i, Name = $"Name{i}", Age = i % 100 }) - .ToList(); + .Select(i => new TestData { Id = i, Name = $"Name{i}", Age = i % 100 }) + .ToList(); + _sieveTestData = Enumerable.Range(1, 10000) + .Select(i => new TestData { Id = i, Name = $"Name{i}", Age = i % 100 }) + .ToList(); + + var sieveOptions = Options.Create(new SieveOptions + { + DefaultPageSize = 10, + MaxPageSize = 100, + CaseSensitive = false + }); + + _sieveProcessor = new SieveProcessor(sieveOptions); } [Benchmark] - public void FilterSortSelectPageWithAutoQuery() + public void AutoQuery_FilterSortSelectPage() { var queryOptions = new TestQueryOptions { @@ -38,11 +55,11 @@ public void FilterSortSelectPageWithAutoQuery() PageSize = 10 }; - _autoQueryTestData.AsQueryable().ApplyQueryPaged(_queryProcessor, queryOptions); + _autoQueryTestData.AsQueryable().ApplyQueryPaged(_queryProcessor, queryOptions).Datas.ToList(); } [Benchmark] - public void FilterSortSelectPageWithDynamicLinq() + public void DynamicLinq_FilterSortSelectPageWith() { _dynamicLinqTestData.AsQueryable() .Where("Name == @0", "Name5000") @@ -53,6 +70,45 @@ public void FilterSortSelectPageWithDynamicLinq() .ToDynamicList(); } + [Benchmark] + public void AutoQuery_FilterSortPageWith() + { + var queryOptions = new TestQueryOptions + { + Name = "Name5000", + Sort = "Age", + Page = 1, + PageSize = 10 + }; + + _autoQueryTestData.AsQueryable().ApplyQueryPaged(_queryProcessor, queryOptions).Datas.ToList(); + } + + [Benchmark] + public void DynamicLinq_FilterSortPageWith() + { + _dynamicLinqTestData.AsQueryable() + .Where("Name == @0", "Name5000") + .OrderBy("Age") + .Skip(0) + .Take(10) + .ToDynamicList(); + } + + [Benchmark] + public void Sieve_FilterSortPageWith() + { + var sieveModel = new SieveModel + { + Filters = "Name==Name5000", + Sorts = "Age", + Page = 1, + PageSize = 10, + }; + + _sieveProcessor.Apply(sieveModel, _sieveTestData.AsQueryable()).ToList(); + } + public class UserQueryConfiguration : IFilterQueryConfiguration { public void Configure(FilterQueryBuilder builder)