Reduce the default size of the local lock hash table. There's usually
authorTom Lane
Sat, 20 Nov 2004 20:16:54 +0000 (20:16 +0000)
committerTom Lane
Sat, 20 Nov 2004 20:16:54 +0000 (20:16 +0000)
no need for it to be nearly as big as the global hash table, and since
it's not in shared memory it can grow if it does need to be bigger.
By reducing the size, we speed up hash_seq_search(), which saves a
significant fraction of subtransaction entry/exit overhead.

src/backend/storage/lmgr/lock.c

index 6fcb4d434321534bcc0a5fc0bc6fead727529973..4cf3302de5d290a70af2154ea7d62d4b427622b6 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/storage/lmgr/lock.c,v 1.143 2004/10/25 00:46:41 neilc Exp $
+ *   $PostgreSQL: pgsql/src/backend/storage/lmgr/lock.c,v 1.144 2004/11/20 20:16:54 tgl Exp $
  *
  * NOTES
  *   Outside modules can create a lock table and acquire/release
@@ -331,7 +331,7 @@ LockMethodTableInit(const char *tabName,
 
    sprintf(shmemName, "%s (locallock hash)", tabName);
    LockMethodLocalHash[lockmethodid] = hash_create(shmemName,
-                                                   init_table_size,
+                                                   128,
                                                    &info,
                                                    hash_flags);