]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Avoid unnecessary calls to memset() for a small performance improvement.
authordrh <drh@noemail.net>
Mon, 18 Jan 2016 13:18:54 +0000 (13:18 +0000)
committerdrh <drh@noemail.net>
Mon, 18 Jan 2016 13:18:54 +0000 (13:18 +0000)
FossilOrigin-Name: 9e8c23acf74944a165c733682a956948b15bd401

manifest
manifest.uuid
src/build.c
src/expr.c
src/select.c

index 0405b4eb80ae8f82207f61d0f2f8f125bbd14b8b..17430c54232466179bc198eedd671f2e893ec41a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sa\sdebugging\sfunction\sto\sprint\shuman-readable\sversions\sof\sfts5\sdetail=none\sleaf\spages.
-D 2016-01-18T09:08:56.841
+C Avoid\sunnecessary\scalls\sto\smemset()\sfor\sa\ssmall\sperformance\simprovement.
+D 2016-01-18T13:18:54.021
 F Makefile.in a476545d0c8626224d0bacac85c6e2967474af81
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 01e855f958932d0d3ed62ec675fc63e2cef61fcb
@@ -289,14 +289,14 @@ F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73
 F src/btree.c d9c6b2e2df06314079aa582f12937401a62171a6
 F src/btree.h 68ef301795e00cdf1d3ab93abc44a43b7fe771e0
 F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5
-F src/build.c 59783188d873daf92150cc1a1caad55496839e8f
+F src/build.c 31af80bba31ac159967951ef58f3144cc7db9d70
 F src/callback.c 29ae4faba226c7ebb9aee93016b5ce8a8f071261
 F src/complete.c addcd8160b081131005d5bc2d34adf20c1c5c92f
 F src/ctime.c 60e135af364d777a9ab41c97e5e89cd224da6198
 F src/date.c 997651e3ee6c2818fbf7fcdb7156cef9eb3ece20
 F src/dbstat.c ffd63fc8ba7541476ced189b95e95d7f2bc63f78
 F src/delete.c 00af9f08a15ddc5cba5962d3d3e5bf2d67b2e7da
-F src/expr.c 9a1a4150864f002b633d12f170a4114c28bbe94d
+F src/expr.c df0d7c3230d59abd679da22ff5ce4cfd0e3a0e63
 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
 F src/fkey.c e18b3dff7d47c7bcac5ac4fc178a89b9fd322b44
 F src/func.c ccaf46fa98f795673afbfab73dff7c18db88f3cd
@@ -343,7 +343,7 @@ F src/printf.c af589a27b7d40f6f4f704e9eea99f02f18ad6d32
 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
 F src/resolve.c 08dbe0292b24abc79b0c55ea97368e8a6bd235ec
 F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
-F src/select.c 5b0f2aa9f73ec7b65d1711d485471854d5bad23c
+F src/select.c 718954db86277d696c520fe671148db1e9c4ed3c
 F src/shell.c dcd7a83645ef2a58ee9c6d0ea4714d877d7835c4
 F src/sqlite.h.in 214476a62012e578f42133a9a3b4f97a9aa421a3
 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
@@ -1417,7 +1417,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P d23849f64a110e336f26282bf2b961a2a2372468
-R 31b95f2f1604722a026be65030bac1ab
-U dan
-Z d8bcb32855d826aa490c728ca6c213ac
+P 8358af3658d888516cdef5f8c8d89e9bdee53f91
+R c9824fbd0634badf7e3856a23bc7d527
+U drh
+Z 3a50e6364ad5d43622d6dbbf0015cd45
index 99374d367c39be9b39afbd5b3f4364dd5c3cf256..f39ceaa8a5712f7fe51f15f23b132aa67b79ea83 100644 (file)
@@ -1 +1 @@
-8358af3658d888516cdef5f8c8d89e9bdee53f91
\ No newline at end of file
+9e8c23acf74944a165c733682a956948b15bd401
\ No newline at end of file
index f592bb131c4f08265330b16b1959f9e6f7cd3251..f7074ab417f57c6e969a640087df1b442d84e1df 100644 (file)
@@ -3710,9 +3710,10 @@ SrcList *sqlite3SrcListAppend(
   struct SrcList_item *pItem;
   assert( pDatabase==0 || pTable!=0 );  /* Cannot have C without B */
   if( pList==0 ){
-    pList = sqlite3DbMallocZero(db, sizeof(SrcList) );
+    pList = sqlite3DbMallocRaw(db, sizeof(SrcList) );
     if( pList==0 ) return 0;
     pList->nAlloc = 1;
+    pList->nSrc = 0;
   }
   pList = sqlite3SrcListEnlarge(db, pList, 1, pList->nSrc);
   if( db->mallocFailed ){
index b8cf3f772003cedd11aad7e1b12ea3e6b74f6b1b..403e81cf3487815aabcfd10f2e59aea2aef7cb7f 100644 (file)
@@ -1135,10 +1135,11 @@ ExprList *sqlite3ExprListAppend(
 ){
   sqlite3 *db = pParse->db;
   if( pList==0 ){
-    pList = sqlite3DbMallocZero(db, sizeof(ExprList) );
+    pList = sqlite3DbMallocRaw(db, sizeof(ExprList) );
     if( pList==0 ){
       goto no_mem;
     }
+    pList->nExpr = 0;
     pList->a = sqlite3DbMallocRaw(db, sizeof(pList->a[0]));
     if( pList->a==0 ) goto no_mem;
   }else if( (pList->nExpr & (pList->nExpr-1))==0 ){
index fd094d05ddeddee932e8dd84f74b0a28105942a2..9eb6279c1089e19603a0d468d997a9a26af42ad1 100644 (file)
@@ -1005,8 +1005,8 @@ static void selectInnerLoop(
 ** X extra columns.
 */
 KeyInfo *sqlite3KeyInfoAlloc(sqlite3 *db, int N, int X){
-  KeyInfo *p = sqlite3DbMallocZero(0, 
-                   sizeof(KeyInfo) + (N+X)*(sizeof(CollSeq*)+1));
+  int nExtra = (N+X)*(sizeof(CollSeq*)+1);
+  KeyInfo *p = sqlite3Malloc(sizeof(KeyInfo) + nExtra);
   if( p ){
     p->aSortOrder = (u8*)&p->aColl[N+X];
     p->nField = (u16)N;
@@ -1014,6 +1014,7 @@ KeyInfo *sqlite3KeyInfoAlloc(sqlite3 *db, int N, int X){
     p->enc = ENC(db);
     p->db = db;
     p->nRef = 1;
+    memset(&p[1], 0, nExtra);
   }else{
     db->mallocFailed = 1;
   }