Re: Cost of AtEOXact_Buffers in --enable-cassert

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Cost of AtEOXact_Buffers in --enable-cassert
Date: 2010-08-06 18:53:18
Message-ID: 201008062053.21257.andres@anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Friday 06 August 2010 20:23:15 Tom Lane wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
> > The most prohibitively expensive part is the AtEOXact_Buffers check of
> > running through all buffers and checking their pin count. And it makes
> > $app's regression tests take thrice their time...
> >
> > Would somebody object agains putting those in an extra define so that
> > those can be disabled in pg_config_manual? Or even disable it by default
> > entirely...
> Not a chance for the latter; this is an important sanity check that
> catches real coding mistakes with some frequency.
Ok.

> I'd be willing to consider a "half assert" mode that turns off some of
> the most expensive checks, but AtEOXact_Buffers is hardly the only thing
> that ought to be in that list. The CLOBBER_FREED_MEMORY and memory
> context checking stuff is pretty durn expensive too.
I personally have seen that catching way more bugs than the AtEOXact_Buffers
check, but that might be because I have found mostly bugs in random c
functions, not in pg stuff ;-)

I will wait a bit and wait for more suggestions about expensive checks and/or
other comments and will provide a patch for such a mode.

Andres

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-08-06 19:00:35 Re: including backend ID in relpath of temp rels - updated patch
Previous Message Tom Lane 2010-08-06 18:43:10 Re: including backend ID in relpath of temp rels - updated patch