mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-06 21:29:21 +02:00
remove the infrastructure needed to enforce the limit, ie, the global LRU list of cache entries. On small-to-middling databases this wins because maintaining the LRU list is a waste of time. On large databases this wins because it's better to keep more cache entries (we assume such users can afford to use some more per-backend memory than was contemplated in the Berkeley-era catcache design). This provides a noticeable improvement in the speed of psql \d on a 10000-table database, though it doesn't make it instantaneous. While at it, use per-catcache settings for the number of hash buckets per catcache, rather than the former one-size-fits-all value. It's a bit silly to be using the same number of hash buckets for, eg, pg_am and pg_attribute. The specific values I used might need some tuning, but they seem to be in the right ballpark based on CATCACHE_STATS results from the standard regression tests. |
||
---|---|---|
.. | ||
catcache.c | ||
inval.c | ||
lsyscache.c | ||
Makefile | ||
relcache.c | ||
syscache.c | ||
typcache.c |