Re: --enable-depend by default (was Re: Patch: fix lock contention for HASHHDR.mutex)

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: obartunov(at)gmail(dot)com, Andrew Dunstan <andrew(at)dunslane(dot)net>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Aleksander Alekseev <a(dot)alekseev(at)postgrespro(dot)ru>, Robert Haas <robertmhaas(at)gmail(dot)com>, Teodor Sigaev <teodor(at)sigaev(dot)ru>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: --enable-depend by default (was Re: Patch: fix lock contention for HASHHDR.mutex)
Date: 2015-12-30 16:13:56
Message-ID: 20151230161356.g5wiogsesfltrgaq@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2015-12-30 10:49:27 -0500, Tom Lane wrote:
> > On Wed, Dec 30, 2015 at 5:44 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> >> I still maintain that --enable-depend should be on by default. We're
> >> absurdly optimizing towards saving a handful of cycles in scenarios
> >> which are usually bottlenecked by other things (build boxes spend more
> >> times on tests and such)
>
> Nonsense. The buildfarm will simply get slower, and at least for my
> animals it's too damn slow already.

I think you're overstating the performance impact of
--enable-depend. It's just an additional output file for the compiler,
given the way we're doing it (-MMD -MP -MF $outfile). Let's make a quick test.

I've built both trees once before, to prime ccache. The test is:
for i in $(seq 1 5); do git clean -dfxq && ./configure --(dis|en)able-depend --quiet && time make -j4 -s;done

(coffee break)

no ccache, --disable-depend: 0m55.810s, 0m58.361s, 0m58.517s, 0m58.674s, 0m58.466s
ccache, --disable-depend: 0m5.248s, 0m5.279s, 0m5.244s, 0m5.771s, 0m5.296s
no ccache, --enable-depend: 0m56.443s, 0m58.507s, 0m58.587s, 0m58.866s, 0m58.429s
ccache, --enable-depend: 0m5.538s, 0m5.518s, 0m5.572s, 0m5.555s, 0m5.528s

Yes, this is on a much faster machine (my laptop) than what some
buildfarm animal are running. But given it's really just some
additional, *small*, files that are written (compiler) and read (make),
I don't see why the impact would be significantly different on slower
machines.

> We could fix that by having the
> buildfarm script automatically add --disable-depend; but if we're going
> to change this, we should roll out that script update BEFORE we change
> it, not after.

Sounds reasonable, despite the above. This isn't an urgent change, just
something to make newer developers waste less time.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Oleksii Kliukin 2015-12-30 16:25:42 Re: rows estimate in explain analyze for the BRIN index
Previous Message Tom Lane 2015-12-30 16:13:31 Re: --enable-depend by default (was Re: Patch: fix lock contention for HASHHDR.mutex)