drh
9d9c41e25e
Remove unnecessary NEVER() and ALWAYS() conditionals.
...
FossilOrigin-Name: 1c80c75d4be2f3d44fb18bb4c07eccac2aba79b688215a741317dfc47dc7c2ce
2017-10-31 03:40:15 +00:00
drh
dfcdc663f2
Remove an obsolete optimization in pcache that due to more recent changes
...
was recently making the code a little slower.
FossilOrigin-Name: c4e7e175eecfd79015f4fae99618dfce6baf97c21bf3c909ea535d4e12dcaaad
2017-09-01 12:57:33 +00:00
drh
f0dae6d0a2
Small size and performance improvement in pcacheManageDirtyList() by not
...
zeroing the PgHdr.pDirtyNext and PgHdr.pDirtyPrev pointers for PgHdr objects
that are not on the dirty list.
FossilOrigin-Name: 919863b14859d958d6c078097faae02070c7bd082e2814cf3f84bd84921e4419
2017-09-01 12:18:41 +00:00
drh
d879e3eb8d
Change all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" for
...
consistency.
FossilOrigin-Name: 670f10b24230863688270d12ac519609ade2302b
2017-02-13 13:35:55 +00:00
drh
cbed604f52
In the pager, avoid checking for the illegal page number 0 except when creating
...
a new page.
FossilOrigin-Name: dee20ba982125ea98c280ad1571789af0f393903
2016-12-13 18:34:01 +00:00
drh
a2ee589c46
Avoid unnecessary zeroing of fields in the MemPage object that are going
...
to be reinitialized before use anyhow. A smaller and faster binary results.
FossilOrigin-Name: 01ada3d1068476f90dcae02cb089001ea4bcc23d
2016-12-09 16:02:00 +00:00
drh
216b70ff82
Reduce the width of a memset() to avoid double-initializing some variables.
...
FossilOrigin-Name: 34edbfd12d6cfa6bbfa30eef9276a4865eadc869
2016-10-01 20:43:41 +00:00
mistachkin
2380f3f1d0
Fix typo in comment.
...
FossilOrigin-Name: 9db8f2147339ba519c4ec32e34068e9f4a25e099
2016-05-20 20:58:30 +00:00
drh
b982bfea37
Optimizations to link list merge sort code in vdbesort.c, pcache.c, and
...
rowset.c. Resulting binaries are 10 bytes smaller and use 0.03% fewer CPU
cycles.
FossilOrigin-Name: 9033afbb31b28a8ad6856ac1f773d8e83bc9ec1c
2016-05-20 14:54:54 +00:00
drh
3b02a07e7d
Improvements to a comment in the pcache.c file. No changes to code.
...
FossilOrigin-Name: b369980f0c4550a9034833caa2c7c85d6030f5ff
2016-05-13 17:22:33 +00:00
drh
a0f6b124ad
Remove the unused PGHDR_NEED_READ flag. Add invariant checking (during
...
SQLITE_DEBUG builds only) for the PgHdr object.
FossilOrigin-Name: 771c5411e9ebcad00fb4b97556b519488284b87b
2016-05-13 15:22:06 +00:00
drh
7aeb216a19
Additional debugging and tracing logic for pcache.c, turned off by default
...
using an "#if 0".
FossilOrigin-Name: 32a62e3bd46cf58586617d3f8b1a971c91df205e
2016-05-13 04:24:25 +00:00
dan
82c0447701
Add extra OPTIMIZATION-IF-FALSE comments where required to pcache.c.
...
FossilOrigin-Name: 9d55b8f541de43deb82d460d32005fd62f5430b2
2016-05-12 17:06:04 +00:00
drh
91ef8ad42c
For in-memory databases, it does not matter if pcache entries are marked
...
"clean" or "writable".
FossilOrigin-Name: 06c1e27ca868f247f8c27b03eb19aac004f28650
2016-05-12 12:08:48 +00:00
drh
42bee5f4d6
Remove an unnecessary call to sqlite3PcacheMakeClean() inside of the ROLLBACK
...
logic.
FossilOrigin-Name: 0dc50d9915cd88916229ca5c3834de82fa16f017
2016-05-12 12:01:20 +00:00
dan
613723d9fd
Add a missing OPTIMIZATION-IF-FALSE comment to pcache.c.
...
FossilOrigin-Name: bc202e5b418d5a57bfc766883c4417c94829d96e
2016-05-12 09:48:23 +00:00
drh
72e6a39907
For in-memory databases, it does not matter if pcache entries are marked
...
"clean" or "writable".
FossilOrigin-Name: ad601c7962a60a11699cf31f1faee09b95d5c710
2016-05-11 23:54:14 +00:00
dan
401907e3ff
Remove a redundant condition from pcache.c. Add an OPTIMIZATION-IF-TRUE comment to another condition that requires it.
...
FossilOrigin-Name: 3bfd2621d13b4f842f3af6d35519653f4eb8cad7
2016-05-11 20:03:23 +00:00
dan
b2ef900ade
Remove some a small amount of redundant code related to PCache.pSynced from pcache.c.
...
FossilOrigin-Name: 9cc8cad78fdfe044ad6726ebfe6909c1e242fa55
2016-05-11 15:41:15 +00:00
drh
5c8e092804
Add pcache tracing macros. Off by default. Requires changing an "#if 0"
...
and recompiling to enable.
FossilOrigin-Name: d9313d19c75a62f558b3df6b15595b15bbfa0b62
2016-05-11 10:57:04 +00:00
drh
b5895e50f9
sqlite3PCachePerecentDirty() should return 0 if the pcache is empty.
...
FossilOrigin-Name: 85f3d80eb7319754792eef76996b2c740a2b0073
2016-04-18 13:30:50 +00:00
dan
0f52455a35
On commit, flush dirty temp-file pages only if the file is already open and 25% or more of the cache is dirty.
...
FossilOrigin-Name: f6babf2920340f25815c0a3c58de1e902c2f5542
2016-04-13 16:52:11 +00:00
dan
41113b6429
Defer opening the file used for the temp database (where CREATE TEMP TABLE tables are stored) until the database is too large to reside entirely within the cache. There are likely still problems on this branch.
...
FossilOrigin-Name: be5a549eba6cf8e29cb6b9824fd6d0db9d03ca7f
2016-04-05 21:07:58 +00:00
mistachkin
fad3039c51
Enhance ability to debug out-of-memory errors.
...
FossilOrigin-Name: 6a9c4a3ebfb7cc0738ef6634440ccab44a21ff28
2016-02-13 23:43:46 +00:00
drh
4f9c8ec62d
Test cases. Minor problems fixed. All appears to work now.
...
FossilOrigin-Name: 9a431362dccbc9b8f93375f30a3b8955903cca79
2015-11-12 15:47:48 +00:00
drh
9b0cf34f81
First attempt at enhancing the "PRAGMA cache_spill" statement to accept a
...
cache threashold size.
FossilOrigin-Name: 549d42be0dac87dc04c3eeccfdc60615c3a6ad3f
2015-11-12 14:57:19 +00:00
drh
95a0b37156
Change the pcache module to keep track of the total number of references to
...
all pages rather than the number of pages references, for a performance
improvement and size reduction.
FossilOrigin-Name: f00a9e1e998c4bd249a45444dc2d71a7e4903b8b
2015-09-03 20:43:55 +00:00
drh
d8c0ba3b02
Optimization to the sqlite3PcacheFetch() logic.
...
FossilOrigin-Name: d9a0481ce0fd9824b1566f182d68ec46ef091b1b
2015-06-30 03:57:59 +00:00
drh
1aacbdb374
Add the PGHDR_WRITEABLE bit for PgHdr.flags which is used to
...
distinguish between pages that are on the dirty list and pages that are
safe to modify.
FossilOrigin-Name: 7c4ef7b7c8744af19075bb96d1e0b63e35978ed1
2015-06-29 18:29:10 +00:00
drh
c78ae916b9
Add the new PGHDR_CLEAN bit to PgHdr.flags in pcache.c. This bit is always
...
the opposite of PGHDR_DIRTY. Use the extra bit to avoid a comparison
for a small performance boost.
FossilOrigin-Name: 8619fc346d9a5a66a3c4566b4cc032b6b6bf73fd
2015-06-29 04:21:15 +00:00
drh
39065c60b3
Simplify the pcache by not keeping continuous track of page 1 but instead
...
just loading page 1 on the rare occasions when it is actually needed.
FossilOrigin-Name: 015302f15e46a087ec92f3644c6741600dbf4306
2015-06-26 02:41:31 +00:00
drh
e0e8429543
Remove all references to SQLITE_DEFAULT_TEMP_CACHE_SIZE. Add requirements
...
marks related to cache_size changing.
FossilOrigin-Name: 766ad65025a9d5815300978e6e349f5af5db6012
2015-02-27 21:53:35 +00:00
drh
ea18142624
Remove an unused preprocessor macro from pcache.c.
...
FossilOrigin-Name: 88a7a967116a48aeb5fa7014613c0134b1b47bb3
2015-01-09 19:45:28 +00:00
drh
51dc84eb70
Make SQLITE_CONFIG_PCACHE_HDRSZ accurate (not an over-estimate) on 32-bit
...
systems.
FossilOrigin-Name: 340b347758e570db3e739b56af0dcf3fc34525be
2014-12-30 13:04:25 +00:00
drh
37c057b8ff
Round all object sizes that go into computing SQLITE_CONFIG_PCACHE_HDRSZ up
...
to a multiple of 8 bytes.
FossilOrigin-Name: b28ce75f2d3a6343dc20d581dc55afae89ab5efa
2014-12-30 00:57:29 +00:00
drh
def6889d21
Add the SQLITE_CONFIG_PCACHE_HDRSZ option for sqlite3_config().
...
FossilOrigin-Name: 6eb03e62a34e8e0964175283587247b0212db604
2014-11-04 12:11:23 +00:00
drh
907214c8e8
Remove the EXPENSIVE_ASSERTS in pcache.c having to do with the pSynced field
...
of the Pcache object, as they are incorrect, as revealed by recent pcache
enhancements.
FossilOrigin-Name: 69a64560777f85b47349b4b2aab01dc99298592e
2014-09-15 14:59:12 +00:00
drh
36ce91913c
Small performance improvement to the dirty list handling in the pager.
...
FossilOrigin-Name: b332a84d5154f70f3197537df4af243eaebbb011
2014-09-12 20:30:59 +00:00
peter.d.reid
60ec914c74
Fix typos in comments. No code changes.
...
FossilOrigin-Name: e62aab5e9290503869e1f4d5e0fefd2b4dee0a69
2014-09-06 16:39:46 +00:00
drh
bc59ac0e26
Refactor the sqlite3PcacheFetch() routine into three separate routines,
...
which are significantly faster overall and about 100 bytes smaller in
size as well.
FossilOrigin-Name: bdb6e4978d1a26d5f795262172605184264ede9c
2014-08-27 23:18:01 +00:00
drh
c3031c61ef
Change the page cache so that a new sqlite3_pcache object is allocated as
...
soon as the page cache is opened, not delayed until the first fetch request.
This give a noticable performance boost. The interface between pager and
the page cache has changed slightly, which might break ZIPVFS.
FossilOrigin-Name: f1f94a971e031e784f8c30a6faf829df58709329
2014-08-26 15:06:49 +00:00
drh
a8dcba9199
Combine the pcacheAddToDirtyList() and pcacheRemoveFromDirtyList() routines
...
into a single pcacheManageDirtyList() routine. The resulting binary code is
slightly faster and a few bytes smaller.
FossilOrigin-Name: 6bcf1af6a48dbda5ac6f6b3b02810bdfc4730000
2014-08-22 20:35:29 +00:00
drh
fe21a796f7
Performance optimizations in sqlite3PcacheFetch().
...
FossilOrigin-Name: b60cc11ef775c23a2245d9e7a00dab34013f3ccb
2014-02-03 17:04:29 +00:00
drh
5dc2bcda7e
Make sure large negative arguments to PRAGMA cache_size do not cause
...
32-bit signed integer overflow. Also correct a requirements mark.
FossilOrigin-Name: 17c30634a71051158f8d37fd51b3c2a125ad8bd2
2012-01-02 15:45:12 +00:00
drh
09419b4bae
Add the sqlite3_db_release_memory() interface and the shrink_memory pragma.
...
FossilOrigin-Name: 3f58e7c8895d1252eff56282c08b1a6f1194452c
2011-11-16 19:29:17 +00:00
drh
3b42abb35b
A negative value N for the cache_size pragma adjusts the number of cache
...
pages to use approximately N kibibytes of memory.
FossilOrigin-Name: b3faa680aedc94ed8aa2819228c0d304b181cc51
2011-11-09 14:23:04 +00:00
drh
e5c40b18e3
Update the API documentation for the new pcache2 interface. Change the
...
order of parameters on the xCreate method of pcache2.
FossilOrigin-Name: 4da7095683ec821414e255419d63a24dbd9d726d
2011-11-09 00:06:05 +00:00
dan
22e21ff4fc
Experimental change to the pcache interface to allow page buffers to be allocated separately from their associated container structures.
...
FossilOrigin-Name: c275c9d323cb1dccb031b199d413ac3a0b244fea
2011-11-08 20:08:44 +00:00
drh
c97125eb72
Print a log message on each cache spill if compiled with
...
SQLITE_LOG_CACHE_SPILL.
FossilOrigin-Name: 5f15579f8ca747f0fa0a7867ceffc8c7b8f904e6
2011-05-28 15:53:07 +00:00
drh
f759bb83d4
Further updates to the sqlite3_pcache_methods documentation, plus the addition
...
of a few evidence marks related to pcache.
FossilOrigin-Name: 34edb54bb03ad4e54f2e4de12d767e6fa8822ba4
2010-09-09 18:25:34 +00:00