From: drh Date: Fri, 29 Aug 2014 14:40:07 +0000 (+0000) Subject: Merge recent performance enhancements from trunk onto the threads branch. X-Git-Tag: version-3.8.7~132^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=503ae865085b4aa6406a57592a574689019d1ea4;p=thirdparty%2Fsqlite.git Merge recent performance enhancements from trunk onto the threads branch. FossilOrigin-Name: 35c44a3c73e2e8b14ff194c41986f4bdb9dfe737 --- 503ae865085b4aa6406a57592a574689019d1ea4 diff --cc manifest index 9edec3f675,6785ddc6c4..b491b9fbcb --- a/manifest +++ b/manifest @@@ -1,9 -1,9 +1,9 @@@ - C Remove\sthe\sSQLITE_CONFIG_WORKER_THREADS\sconfiguration\sparameter.\s\sThe\snumber\nof\sworker\sthreads\sin\sthe\ssorter\sis\snow\sdetermined\sonly\sby\sthe\nPRAGMA\sthreads=N\ssetting. - D 2014-08-25T23:44:44.281 -C Note\sa\sfault\safter\sall,\srather\sa\stesting\smistake.\nMove\sthis\schange\sback\sto\strunk.\nWas:\sAvoid\san\sunnecessary\sOP_Move\soperation\sfor\sexpression\ssubqueries. -D 2014-08-29T14:20:46.550 ++C Merge\srecent\sperformance\senhancements\sfrom\strunk\sonto\sthe\sthreads\sbranch. ++D 2014-08-29T14:40:07.113 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f -F Makefile.in 5eb79e334a5de69c87740edd56af6527dd219308 +F Makefile.in cf57f673d77606ab0f2d9627ca52a9ba1464146a F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 -F Makefile.msc 5b04e657cf08a9ac7fc47d876c5c8be962c47d6b +F Makefile.msc e31dee24038965fb6269d6d61073fd6b7e331dec F Makefile.vxworks 034289efa9d591b04b1a73598623119c306cbba0 F README.md 64f270c43c38c46de749e419c22f0ae2f4499fe8 F VERSION 53a0b870e7f16d3b06623c31d233a304c163a6af @@@ -209,26 -209,26 +209,26 @@@ F src/os.h 60d419395e32a8029fa380a80a3d F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04 F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa F src/os_unix.c bd7df3094a60915c148517504c76df4fca24e542 -F src/os_win.c d067fce558a5032e6e6afe62899e5397bf63cf3e +F src/os_win.c 08ce5616a5755da9400931fb39146e4a97801a2a F src/os_win.h 09e751b20bbc107ffbd46e13555dc73576d88e21 - F src/pager.c 53cc5e9d73afb74add79f49755c8ee240fbdbef7 + F src/pager.c 3e732d2bbdd8d8d95fed0c5ae7e718d73153c4c5 F src/pager.h ffd5607f7b3e4590b415b007a4382f693334d428 F src/parse.y 22d6a074e5f5a7258947a1dc55a9bf946b765dd0 - F src/pcache.c da602c5447051705cab41604bf3276815eb569d0 - F src/pcache.h a5e4f5d9f5d592051d91212c5949517971ae6222 + F src/pcache.c 3b3791297e8977002e56b4a9b8916f2039abad9b + F src/pcache.h 9b559127b83f84ff76d735c8262f04853be0c59a F src/pcache1.c c5af6403a55178c9d1c09e4f77b0f9c88822762c -F src/pragma.c d10ef67c4de79f78188b965b4b7988aff1d66f2e +F src/pragma.c 33971fcaa7c13b84b1a0f2e813f4a3ab4d745ede F src/prepare.c 3842c1dfc0b053458e3adcf9f6efc48e03e3fe3d F src/printf.c 00986c86ddfffefc2fd3c73667ff51b3b9709c74 F src/random.c d10c1f85b6709ca97278428fd5db5bbb9c74eece F src/resolve.c 0ea356d32a5e884add23d1b9b4e8736681dd5697 F src/rowset.c a9c9aae3234b44a6d7c6f5a3cadf90dce1e627be - F src/select.c f8b0b6c43bee15f4e239ead1c9c9e3009e507e39 -F src/select.c 1c4667571f2c9e339b5a5c5b152a9ea7b0bc4163 -F src/shell.c 728d2226594d356bf4fbdbdfd08538fd78fd06f3 -F src/sqlite.h.in ed9d35990c61f0388ca6405706455c4095310553 ++F src/select.c 89e569b263535662f54b537eb9118b2c554ae7aa +F src/shell.c 88378cef39aba4b4a1df82793dcb1daf9276bb81 +F src/sqlite.h.in aa2cc1405cb999c9d73484e0686f7b869b430ba3 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad F src/sqlite3ext.h 886f5a34de171002ad46fae8c36a7d8051c190fc -F src/sqliteInt.h d8a9be2aa123a78c90ad4aba09b23e7dd3f8cc9f +F src/sqliteInt.h 43419afaed8cd3bf99df06d38952a52f827217b9 F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d F src/status.c 7ac05a5c7017d0b9f0b4bcd701228b784f987158 F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e @@@ -285,14 -284,14 +285,14 @@@ F src/update.c ea336ce7b8b3fc5e316ba8f0 F src/utf.c 77abb5e6d27f3d236e50f7c8fff1d00e15262359 F src/util.c 068dcd26354a3898ccc64ad5c4bdb95a7a15d33a F src/vacuum.c 3728d74919d4fb1356f9e9a13e27773db60b7179 - F src/vdbe.c 5d6a6ad63227dfd444d13b3391272b20d1a76100 -F src/vdbe.c fd193824d1cc4a71c631eb792ce837aab530210a ++F src/vdbe.c 90db7ad740b6d3f7ab446e6244dbc17ce495cca6 F src/vdbe.h c63fad052c9e7388d551e556e119c0bcf6bebdf8 - F src/vdbeInt.h a1fcc0a04445c5d797694dc860a906010b9be7e6 - F src/vdbeapi.c cda974083d7597f807640d344ffcf76d872201ce -F src/vdbeInt.h 4653bb420abb7acdc215659cdcedd3a59f336191 ++F src/vdbeInt.h cdc8e421f85beb1ac9b4669ec5beadab6faa15e0 + F src/vdbeapi.c 09677a53dd8c71bcd670b0bd073bb9aefa02b441 -F src/vdbeaux.c dba006f67c9fd1b1d07ee7fb0fb38aa1905161d1 +F src/vdbeaux.c cef5d34a64ae3a65b56d96d3fd663246ec8e1c36 F src/vdbeblob.c 848238dc73e93e48432991bb5651bf87d865eca4 - F src/vdbemem.c 4e08ea087aea367dae7c45129b75487e0056e819 + F src/vdbemem.c 921d5468a68ac06f369810992e84ca22cc730a62 -F src/vdbesort.c f7f5563bf7d4695ca8f3203f3bf9de96d04ed0b3 +F src/vdbesort.c 50fe3442f41dbfe0b37d2e8b55e7460244015533 F src/vdbetrace.c 6f52bc0c51e144b7efdcfb2a8f771167a8816767 F src/vtab.c 019dbfd0406a7447c990e1f7bd1dfcdb8895697f F src/wal.c 264df50a1b33124130b23180ded2e2c5663c652a @@@ -1193,7 -1188,8 +1193,7 @@@ F tool/vdbe_profile.tcl 67746953071a9f8 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f - P 6c8f86e4e08d5d57e21496277613e0f9dcc06514 - R 428258d1143faa4ab393e38d0d72251a -P fdd478bb11eb9e244a7a1fb628ac27c53830fb24 462f42af52f146fd328ddcbbe78c8444ef7bd2c3 -R ee023126020f0faa82dce1872da63eb6 -T +closed 462f42af52f146fd328ddcbbe78c8444ef7bd2c3 ++P e3305d4b4efcbe06945ce7f6ec0f2e864244aaf9 2a74129a21f9745f1363f844807e2d10201a3f40 ++R a4f057fd137875212defd2b87d648d95 U drh - Z 37ad2e5d491e7e49897b74763238faf5 -Z 4973cc497d9d5b46eb65808e822ee62c ++Z c730a4dfee48578be19b0ff5cd3b7719 diff --cc manifest.uuid index a22d912847,39e2d4034e..7f66b19a61 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - e3305d4b4efcbe06945ce7f6ec0f2e864244aaf9 -2a74129a21f9745f1363f844807e2d10201a3f40 ++35c44a3c73e2e8b14ff194c41986f4bdb9dfe737 diff --cc src/select.c index e26dca5688,44b9cd034c..5508c2e694 --- a/src/select.c +++ b/src/select.c @@@ -853,9 -827,9 +853,9 @@@ static void selectInnerLoop case SRT_Mem: { assert( nResultCol==1 ); if( pSort ){ - pushOntoSorter(pParse, pSort, p, regResult); + pushOntoSorter(pParse, pSort, p, regResult, 1, nPrefixReg); }else{ - sqlite3ExprCodeMove(pParse, regResult, iParm, 1); + assert( regResult==iParm ); /* The LIMIT clause will jump out of the loop for us */ } break;