Re: relscan_details.h - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: relscan_details.h
Date
Msg-id 20130917183034.GC6056@eldon.alvh.no-ip.org
Whole thread Raw
In response to Re: relscan_details.h  (Noah Misch <noah@leadboat.com>)
Responses Re: relscan_details.h
List pgsql-hackers
Noah Misch wrote:
> On Mon, Sep 16, 2013 at 11:02:28PM -0300, Alvaro Herrera wrote:
> > relscan.h is a bit of an unfortunate header because it requires a lot of
> > other headers to compile, and is also required by execnodes.h.  This
> 
> Not in my copy of the source tree.  execnodes.h uses the corresponding
> typedefs that appear in genam.h and heapam.h.  Indeed, "find . -name '*.Po' |
> xargs grep -l relscan.h | wc -l" only locates 26 files that include relscan.h
> directly or indirectly.

Ah, I see now that I misspoke.  This changeset has been dormant on my
repo for a while, so I confused the detail of what it is about.  The
real benefit of this change is to eliminate indirect inclusion of
genam.h and heapam.h.  The number of indirect inclusions of each of them
is:    HEAD        with patch
heapam.h    219        118
genam.h        226        121

> -1 on header restructuring in the absence of noteworthy compile-time benchmark
> improvements.  Besides the obvious benchmark of full-build time, one could
> exercise the benefit of fewer header dependencies by modelling the series of
> compile times from running "git pull; make" at each commit for the past
> several months.  The latter benchmark is perhaps more favorable.

I will have a go at measuring things this way.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



pgsql-hackers by date:

Previous
From: Andrew Gierth
Date:
Subject: Re: Re: Proposal/design feedback needed: WITHIN GROUP (sql standard ordered set aggregate functions)
Next
From: Robert Haas
Date:
Subject: Re: relscan_details.h