Re: Re: patch: fix performance problems with repated decomprimation of varlena values in plpgsql
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Noah Misch <noah@leadboat.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Kevin Grittner <Kevin.Grittner@wicourts.gov>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2011-02-08T07:00:42Z
Lists: pgsql-hackers
2011/2/8 Noah Misch <noah@leadboat.com>: > On Mon, Feb 07, 2011 at 11:16:18PM -0500, Robert Haas wrote: >> So >> can we just get rid of should_be_detoasted, and have exec_eval_datum() >> or its callers instead test: >> >> !var->isnull && var->datatype->typbyval && var->datatype->typlen == -1 >> && VARATT_IS_EXTENDED(var->value) > > FWIW, this is what I meant by option 2 in my summary. > >> I haven't tested this, but it's not clear that'd be measurably slower >> than checking a single Boolean. > > Pavel benchmarked this or something close, measuring a performance loss: > http://archives.postgresql.org/message-id/AANLkTikDHekc9r38w2ttzoMDr8vDaVAnr3LhqfJkEuL9@mail.gmail.com I tested this in situation when Datum is detoasted on usage, not in assignment. So impact will be less. Regards Pavel Stehule > > Tom also expressed concern over performance: > http://archives.postgresql.org/message-id/24266.1295462892@sss.pgh.pa.us > > Not sure what's next. > > nm >