Tom Lane wrote:
> Alvaro Herrera <[EMAIL PROTECTED]> writes:
> > Also, keep in my that this C install program has the extra feature of
> > being able to install multiple files on one invocation, per suggestion
> > from Tom Lane.  This allows us to save the nested for-loop in
> > src/include/Makefile.  GNU install (available on my system) also has
> > this capability, but would we be able to use the trick if we had to
> > cater for the lowest common denominator found on other, non-GNU-enabled
> > systems?
> 
> We would definitely not ... and my suspicion is that that is the largest
> single component of the available speedup.

OK, what is 'install' doing for us that 'cp' and 'chmod' would not
already do?  The following patch reduces the 'gmake install' in
/src/include from 8 seconds to 0.8 seconds.

Oh, and for testing I use a sourceforge shell farm account, and a HP
testdrive shell acount that gives me access to almost every operating
system.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/include/Makefile
===================================================================
RCS file: /cvsroot/pgsql/src/include/Makefile,v
retrieving revision 1.19
diff -c -c -r1.19 Makefile
*** src/include/Makefile        6 Jan 2005 21:00:24 -0000       1.19
--- src/include/Makefile        23 Mar 2005 20:22:56 -0000
***************
*** 41,49 ****
          $(INSTALL_DATA) $$file $(DESTDIR)$(includedir_server)/`basename 
$$file` || exit; \
        done
        for dir in $(SUBDIRS); do \
!         for file in $(srcdir)/$$dir/*.h; do \
!           $(INSTALL_DATA) $$file 
$(DESTDIR)$(includedir_server)/$$dir/`basename $$file` || exit; \
!         done \
        done
  
  installdirs:
--- 41,48 ----
          $(INSTALL_DATA) $$file $(DESTDIR)$(includedir_server)/`basename 
$$file` || exit; \
        done
        for dir in $(SUBDIRS); do \
!         cp $(srcdir)/$$dir/*.h $(DESTDIR)$(includedir_server)/$$dir/ || exit; 
\
!         chmod 644 $(DESTDIR)$(includedir_server)/$$dir/*.h  || exit; \
        done
  
  installdirs:
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to