From: dan Date: Mon, 15 Jun 2026 17:27:05 +0000 (+0000) Subject: Speed up SQL aggregate functions percentile() and median() by using quickselect to... X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a0dc22438d2ca6dde8d861196e41e50dd9ed540a;p=thirdparty%2Fsqlite.git Speed up SQL aggregate functions percentile() and median() by using quickselect to find the required values instead of fully sorting the array of values with quicksort. FossilOrigin-Name: 0796d337f6a0ef02a460a24eadda20e33e8fb9ec64b696ae1addee69c1bfddeb --- a0dc22438d2ca6dde8d861196e41e50dd9ed540a diff --cc manifest index 39860aa575,500f8c6b90..46bfc50114 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C New\sWindows\smakefile\stargets\sfor\scommon\sEXEs\sthat\somit\sthe\s".exe"\ssuffix,\sso\nthat\swhen\smuscle\smemory\skicks\sin\sand\swe\stype\s"make\ssqlite3"\son\swindows,\sit\nstill\sworks. - D 2026-06-15T17:14:12.845 -C Improve\scomments\sin\spercentSort(). -D 2026-06-15T17:13:40.288 ++C Speed\sup\sSQL\saggregate\sfunctions\spercentile()\sand\smedian()\sby\susing\squickselect\sto\sfind\sthe\srequired\svalues\sinstead\sof\sfully\ssorting\sthe\sarray\sof\svalues\swith\squicksort. ++D 2026-06-15T17:27:05.287 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@@ -2208,8 -2209,8 +2208,9 @@@ F tool/warnings-clang.sh bbf6a1e685e534 F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c - P 0b5378678e3d095ef982bb3b5d5ad05dfb15ce4ee12170b8d0a83fa4b75404c0 - R 9cbb6763894903672c2691245ef8b1d2 - U drh - Z b18666bcbe3bd63a32e5fa1c68a87675 -P 9232b5f21d76dc702ccda5c689d61bcd0057fb1f2a4db6a70c607c25ad03a027 -R b1e9a3af3b2622c743c356f665ae72f1 ++P 1152463a66b47eed27b71e87533e8361b6077dc54ff55b8cd2ccde5cfa8199bd 9b43500f51ae7b43f0e2cc805bb8c93907eddbd8caf21ee5b5a3d2e795962088 ++R 47d7442e9499fb070afb88cded90736e ++T +closed 9b43500f51ae7b43f0e2cc805bb8c93907eddbd8caf21ee5b5a3d2e795962088 + U dan -Z b980dcec4c22b5738b10f798acaf097d ++Z 8aad25eee80e8de00de5243ef6acbd82 # Remove this line to create a well-formed Fossil manifest. diff --cc manifest.uuid index c204e5be9e,fda7e0e91d..f4a5e63871 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 1152463a66b47eed27b71e87533e8361b6077dc54ff55b8cd2ccde5cfa8199bd -9b43500f51ae7b43f0e2cc805bb8c93907eddbd8caf21ee5b5a3d2e795962088 ++0796d337f6a0ef02a460a24eadda20e33e8fb9ec64b696ae1addee69c1bfddeb