Re: slru.c race condition (was Re: TRAP: FailedAssertion("!((itemid)->lp_flags

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Jim C. Nasby" <jnasby@pervasive.com>
Cc: Greg Stark <gsstark@mit.edu>, Bruce Momjian <pgman@candle.pha.pa.us>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Gavin Sherry <swm@linuxworld.com.au>, pgsql-hackers@postgresql.org
Date: 2005-11-02T19:04:09Z
Lists: pgsql-hackers
"Jim C. Nasby" <jnasby@pervasive.com> writes:
> BTW, that's a reversal from what I was originally arguing for, which was
> due to the performance penalty associated with --enable-cassert. My
> client is now running with Tom's suggestion of commenting out
> CLOBBER_FREED_MEMORY and MEMORY_CONTEXT_CHECKING and performance is
> good. It appears to be as good as it was with asserts disabled.

Interesting.  I've always wondered whether the "debug_assertions" GUC
variable is worth the electrons it's printed on.  If you are running
with asserts active, that variable actually slows things down, by
requiring an additional bool test for every Assert.  I suppose the
motivation was to allow the same compiled executable to be used for both
assert-enabled and assert-disabled runs, but how many people really need
that capability?

			regards, tom lane