From 70868c012f091169b21f841de99aee71b74570ef Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 12 Aug 2007 20:18:06 +0000 Subject: [PATCH] Increase the initial size of StringInfo buffers to 1024 bytes (from 256); likewise increase the initial size of the scanner's literal buffer to 1024 (from 128). Instrumentation of the regression tests suggests that this saves a useful amount of repalloc() traffic --- the number of calls occurring during one set of tests drops from about 6900 to about 3900. The old sizes were chosen in the late 90's with an eye to machines much smaller than are common today. --- src/backend/lib/stringinfo.c | 4 ++-- src/backend/parser/scan.l | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/backend/lib/stringinfo.c b/src/backend/lib/stringinfo.c index a35f30b933..fc403648bc 100644 --- a/src/backend/lib/stringinfo.c +++ b/src/backend/lib/stringinfo.c @@ -9,7 +9,7 @@ * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/lib/stringinfo.c,v 1.46 2007/05/28 16:43:24 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/lib/stringinfo.c,v 1.47 2007/08/12 20:18:06 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -45,7 +45,7 @@ makeStringInfo(void) void initStringInfo(StringInfo str) { - int size = 256; /* initial default buffer size */ + int size = 1024; /* initial default buffer size */ str->data = (char *) palloc(size); str->maxlen = size; diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index f72cad287c..baa5992277 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -24,7 +24,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/scan.l,v 1.139 2007/01/05 22:19:34 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/parser/scan.l,v 1.140 2007/08/12 20:18:06 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -820,7 +820,7 @@ scanner_init(const char *str) scanbufhandle = yy_scan_buffer(scanbuf, slen + 2); /* initialize literal buffer to a reasonable but expansible size */ - literalalloc = 128; + literalalloc = 1024; literalbuf = (char *) palloc(literalalloc); startlit(); -- 2.40.0