Drastic performance loss in assert-enabled build in HEAD - Mailing list pgsql-hackers

From Tom Lane
Subject Drastic performance loss in assert-enabled build in HEAD
Date
Msg-id 19246.1364329319@sss.pgh.pa.us
Whole thread Raw
Responses Re: Drastic performance loss in assert-enabled build in HEAD  (Kevin Grittner <kgrittn@ymail.com>)
List pgsql-hackers
Using HEAD's pg_dump, I see "pg_dump -s regression" taking 5 seconds.
On the other hand, running the same executable against the regression
database on a 9.2 postmaster takes 1.2 seconds.  Looks to me like we
broke something performance-wise.

A quick check with oprofile says it's all AllocSetCheck's fault:

samples  %        image name               symbol name
87777    83.6059  postgres                 AllocSetCheck
1140      1.0858  postgres                 base_yyparse
918       0.8744  postgres                 AllocSetAlloc
778       0.7410  postgres                 SearchCatCache
406       0.3867  postgres                 pg_strtok
394       0.3753  postgres                 hash_search_with_hash_value
387       0.3686  postgres                 core_yylex
373       0.3553  postgres                 MemoryContextCheck
256       0.2438  postgres                 nocachegetattr
231       0.2200  postgres                 ScanKeywordLookup
207       0.1972  postgres                 palloc

So maybe I'm nuts to care about the performance of an assert-enabled
backend, but I don't really find a 4X runtime degradation acceptable,
even for development work.  Does anyone want to fess up to having caused
this, or do I need to start tracking down what changed?
        regards, tom lane



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: [COMMITTERS] pgsql: Add PF_PRINTF_ATTRIBUTE to on_exit_msg_fmt.
Next
From: Tom Lane
Date:
Subject: Re: spoonbill vs. -HEAD