From: Tom Lane Date: Sun, 12 Aug 2007 20:18:06 +0000 (+0000) Subject: Increase the initial size of StringInfo buffers to 1024 bytes (from 256); X-Git-Tag: REL8_3_BETA1~355 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=70868c012f091169b21f841de99aee71b74570ef;p=postgresql 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. --- 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();