1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-03 20:02:46 +03:00

Major patch to speed up backend startup after profiling analysis.

This commit is contained in:
Bruce Momjian
1997-08-24 23:08:01 +00:00
parent 281ba3f40d
commit c4cb617504
9 changed files with 122 additions and 198 deletions

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.7 1997/08/19 21:34:58 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.8 1997/08/24 23:07:42 momjian Exp $
*
* Notes:
* XXX This needs to use exception.h to handle recovery when
@ -656,8 +656,19 @@ InitSysCache(char *relname,
* and the LRU tuple list
* ----------------
*/
for (i = 0; i <= NCCBUCK; ++i) {
cp->cc_cache[i] = DLNewList();
{
/*
* We can only do this optimization because the number of hash
* buckets never changes. Without it, we call malloc() too much.
* We could move this to dllist.c, but the way we do this is not
* dynamic/portabl, so why allow other routines to use it.
*/
void *cache_begin = malloc((NCCBUCK+1)*sizeof(Dllist));
for (i = 0; i <= NCCBUCK; ++i) {
cp->cc_cache[i] = cache_begin + i * sizeof(Dllist);
cp->cc_cache[i]->dll_head = 0;
cp->cc_cache[i]->dll_tail = 0;
}
}
cp->cc_lrulist = DLNewList();