From: drh <> Date: Mon, 28 Mar 2022 13:22:54 +0000 (+0000) Subject: Performance optimization in the memsys5 memory allocator. X-Git-Tag: version-3.39.0~284 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f5a8386c328122402f5bc30bb8a4cf59cd8e28a2;p=thirdparty%2Fsqlite.git Performance optimization in the memsys5 memory allocator. FossilOrigin-Name: 949133231f8f751aa86518d0d3f6f03d7827fec085bfef3929fa3d57369d0216 --- diff --git a/manifest b/manifest index 9769465203..72da5c29d6 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sthe\sBloom-filter\soptimization\sso\sthat\sit\sdoes\snot\suse\sIS\sNULL\sor\nIS\sNOT\sNULL\sconstraints\sfrom\sthe\sWHERE\sclause\swhen\soperating\son\sa\sLEFT\sJOIN.\n[forum:/forumpost/031e262a89b6a9d2|Forum\sthread\s031e262a89b6a9d2]. -D 2022-03-25T01:23:37.631 +C Performance\soptimization\sin\sthe\smemsys5\smemory\sallocator. +D 2022-03-28T13:22:54.383 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -522,7 +522,7 @@ F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de F src/mem2.c c8bfc9446fd0798bddd495eb5d9dbafa7d4b7287d8c22d50a83ac9daa26d8a75 F src/mem3.c 30301196cace2a085cbedee1326a49f4b26deff0af68774ca82c1f7c06fda4f6 -F src/mem5.c 9bf955937b07f8c32541c8a9991f33ce3173d944 +F src/mem5.c 5a3dbd8ac8a6501152a4fc1fcae9b0900c2d7eb0589c4ec7456fdde15725a26c F src/memdb.c c2dc88f97c410eb68a24468344b65526685e18354ddfd15906750c1eaf9dc2dd F src/memjournal.c 8bd50ae6d9c6d34b3a96cc3b4f567f9935dc358444d872ab48901a8c11ad82a6 F src/msvc.h 3a15918220367a8876be3fa4f2abe423a861491e84b864fb2b7426bf022a28f8 @@ -1945,8 +1945,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P a7abb725c7c783331e73837597917e25e5ff692aac8ec97a0a8c0e30db62d68b -R 7df72da8b94385b7c430ac7b857fb766 +P 1a6328f2a5b4973094e5f85787145d652119822c86ec01a61f3f985c9d2903f2 +R 075c473a8f2a578df0cfd2b3c1673c63 U drh -Z f44c9fa4c137748740188f91b08447a0 +Z 68a9fe4db4958adfd158cca3b2637b20 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 2c894bd6bf..3c17d65bca 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1a6328f2a5b4973094e5f85787145d652119822c86ec01a61f3f985c9d2903f2 \ No newline at end of file +949133231f8f751aa86518d0d3f6f03d7827fec085bfef3929fa3d57369d0216 \ No newline at end of file diff --git a/src/mem5.c b/src/mem5.c index c194a6b778..b61b93e112 100644 --- a/src/mem5.c +++ b/src/mem5.c @@ -420,8 +420,13 @@ static void *memsys5Realloc(void *pPrior, int nBytes){ */ static int memsys5Roundup(int n){ int iFullSz; - if( n > 0x40000000 ) return 0; - for(iFullSz=mem5.szAtom; iFullSz0x40000000 ) return 0; + for(iFullSz=mem5.szAtom*8; iFullSz=n ) return iFullSz/2; return iFullSz; }