mirror of
https://github.com/sqlite/sqlite.git
synced 2026-10-23 21:49:02 +03:00
Small performance improvement and size reduction in the page cache.
FossilOrigin-Name: 2c3ae5b8e1bba3234dac9eb8869dffc8f54ccd20ea278d8440790c715a7f5a00
This commit is contained in:
13
manifest
13
manifest
@@ -1,5 +1,5 @@
|
||||
C The\ssorter\senhancement\sat\s[bdc841de10fef65b]\scontains\sa\sbug\swhere\sit\nmight\ssort\s64-bit\sintegers\sin\sthe\swrong\sorder\sdue\sto\sthe\slimited\nprecision\sof\sdouble.\s\sFixed\shere.
|
||||
D 2026-08-04T20:40:10.440
|
||||
C Small\sperformance\simprovement\sand\ssize\sreduction\sin\sthe\spage\scache.
|
||||
D 2026-08-05T14:00:08.422
|
||||
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
@@ -735,7 +735,7 @@ F src/pager.h 6137149346e6c8a3ddc1eeb40aee46381e9bc8b0fcc6dda8a1efde993c2275b8
|
||||
F src/parse.y d5a3c5b0277a441c38b35071c05e2b61ff5fc918a63309c809f4b6706179c320
|
||||
F src/pcache.c 588cc3c5ccaaadde689ed35ce5c5c891a1f7b1f4d1f56f6cf0143b74d8ee6484
|
||||
F src/pcache.h 092b758d2c5e4dabb30eae46d8dfad77c0f70b16bf3ff1943f7a232b0fe0d4ba
|
||||
F src/pcache1.c d7ee0f95992501a65379f620b3de1430b64e52e397769938668a9fd9dd1c8145
|
||||
F src/pcache1.c c5725cfc6043c33b1343fc848176b8cfceacd6bc5102423c8b61f9ba62b21a9d
|
||||
F src/pragma.c 789ef67117b74b5be0a2db6681f7f0c55e6913791b9da309aefd280de2c8a74d
|
||||
F src/prepare.c 8954bb69defe377cd6a926f8c61d8215ea4f1974838d3ec6f22681a2c0a2939f
|
||||
F src/printf.c b480176bd0aaed9d64e804cfa3ca27fc585f65a73e7c7ca2fe9b9016db2cf6d5
|
||||
@@ -2218,8 +2218,9 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
|
||||
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
|
||||
P bdc841de10fef65b627deb8b770702c976174a66af847c96ebecf24d91798744
|
||||
R 0db8bad880544fadd75c136d6d89db37
|
||||
P 6bdfff7ddb63d0b4f28f6c174a36e81486a652056a4e21644378a22feda780fd 750c37d4044c0957b81a12448293c0f85bab0b9f981d8e6f573ffe27eeb8f16d
|
||||
R 696eb69ee5490c1498ca703ebfcb71e1
|
||||
T +closed 750c37d4044c0957b81a12448293c0f85bab0b9f981d8e6f573ffe27eeb8f16d
|
||||
U drh
|
||||
Z c0254d132a18aeae6d54aba80ce46af2
|
||||
Z 0a29ee0953fdb3eb5c0900087e252dba
|
||||
# Remove this line to create a well-formed Fossil manifest.
|
||||
|
||||
@@ -1 +1 @@
|
||||
6bdfff7ddb63d0b4f28f6c174a36e81486a652056a4e21644378a22feda780fd
|
||||
2c3ae5b8e1bba3234dac9eb8869dffc8f54ccd20ea278d8440790c715a7f5a00
|
||||
|
||||
@@ -1007,8 +1007,11 @@ static PgHdr1 *pcache1FetchNoMutex(
|
||||
PCache1 *pCache = (PCache1 *)p;
|
||||
PgHdr1 *pPage = 0;
|
||||
|
||||
/* Step 1: Search the hash table for an existing entry. */
|
||||
pPage = pCache->apHash[iKey % pCache->nHash];
|
||||
/* Step 1: Search the hash table for an existing entry. nHash is always
|
||||
** a power of two when the cache is in use (see pcache1ResizeHash()), so
|
||||
** the modulo reduces to a mask, avoiding a hardware divide. */
|
||||
assert( pCache->nHash>0 && (pCache->nHash & (pCache->nHash-1))==0 );
|
||||
pPage = pCache->apHash[iKey & (pCache->nHash-1u)];
|
||||
while( pPage && pPage->iKey!=iKey ){ pPage = pPage->pNext; }
|
||||
|
||||
/* Step 2: If the page was found in the hash table, then return it.
|
||||
|
||||
Reference in New Issue
Block a user