Re: make --enable-depend the default
От | Andres Freund |
---|---|
Тема | Re: make --enable-depend the default |
Дата | |
Msg-id | 20130801140608.GL19053@alap2.anarazel.de обсуждение исходный текст |
Ответ на | Re: make --enable-depend the default (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
On 2013-08-01 08:34:51 -0400, Tom Lane wrote: > Andres Freund <andres@2ndquadrant.com> writes: > > People, including me, every now and then forget to pass --enable-depend > > to configure (when not using my own environment). Which then leads to > > strange errors that cost time to track down... > > > Thus I'd like to enable dependency tracking by default. Given todays > > computing powers there doesn't seem to be much reason not to do so. > > > Any arguments against? > > Yes: it's a waste of resources for one-shot builds, which is what most > people not reading this list do (and by asking here, you're biasing > your poll). I think the difference is resource usage is minimal enough for those cases to not really matter. We only seem to support gcc's in-line generation, so there's no separate gcc invocation for dependency generation. rm -rf /tmp/pgbuild/* && mkdir -p /tmp/pgbuild/ && cd /tmp/pgbuild && \ ~/src/postgresql/configure --enable-depend && timemake -j3 -s All of PostgreSQL successfully made. Ready to install. real 2m33.248s user 3m58.657s sys 0m26.282s Without --enable-depend: All of PostgreSQL successfully made. Ready to install. real 2m32.853s user 3m57.639s sys 0m25.741s ccached, fully cached: make clean && time make -j3 -s: real 0m7.394s user 0m8.446s sys 0m3.800s without dependencies: real 0m6.484s user 0m7.824s sys 0m3.278s So if anything, that's the painpoint. > Personally I always do "make clean", if not "make distclean", after a git > pull. If you're using ccache it's incredibly cheap to just rebuild the > whole tree every time, and I trust the results a lot more than I do > --enable-depend. Funnily I repeatedly had problems that could only be solved by clearing ccache's cache... I am not really worried about rebuilds after a pull, but more about iterative rebuilds while writing code. Including header changes. > [postgres@sss1 pgsql]$ time make -s clean > > real 0m1.613s > user 0m0.994s > sys 0m0.254s > [postgres@sss1 pgsql]$ time make -s -j8 > In file included from gram.y:13635: > scan.c: In function 'yy_try_NUL_trans': > scan.c:10167: warning: unused variable 'yyg' > All of PostgreSQL successfully made. Ready to install. > > real 0m2.483s > user 0m6.693s > sys 0m2.123s > > (make installcheck-parallel takes 13.6 seconds on this machine...) Hrmpf. It takes longer than that for me. I need a new laptop... Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: