portsperf (bsd.port.mk performance bugs fixed) redux

Brian Fundakowski Feldman green at FreeBSD.org
Mon Feb 21 09:30:39 PST 2005


On Mon, Feb 21, 2005 at 10:50:09AM +0100, Anton Berezin wrote:
> On Thu, Feb 17, 2005 at 03:59:13PM -0500, Brian Fundakowski Feldman wrote:
> > Well, guys, it's been a while since the last installment of portsperf.
> > Without further ado, here's a fix that bring port vulnerability check
> > time down from almost two minutes to almost instantaneous (on my
> > machine)!  I was always wondering why ports have been so terribly slow
> > since around some time last year, and a good 2000 pids get recycled
> > just doing "make extract":
> >  <@green_> now:
> >  <@green_> green# time make extract
> >  <@green_> ===>  Extracting for mp3gain-1.3.2
> >  <@green_> => Checksum OK for mp3gain132_src.zip.
> >  <@green_> ===>   mp3gain-1.3.2 depends on executable: unzip - found
> >  <@green_> 0.127u 1.132s 0:01.49 83.8%     108+497k 15+0io 8pf+0w
> > 
> >  <@green_> then:
> >  <@green_> green# time make extract
> >  <@green_> ===>  Extracting for mp3gain-1.3.2
> >  <@green_> => Checksum OK for mp3gain132_src.zip.
> >  <@green_> ===>   mp3gain-1.3.2 depends on executable: unzip - found
> >  <@green_> 5.308u 82.765s 1:42.05 86.2%    92+193k 10+0io 12pf+0w
> 
> > Index: bsd.port.mk
> > ===================================================================
> > RCS file: /usr/ncvs/ports/Mk/bsd.port.mk,v
> > retrieving revision 1.509
> > diff -u -r1.509 bsd.port.mk
> > --- bsd.port.mk	9 Feb 2005 09:07:37 -0000	1.509
> > +++ bsd.port.mk	17 Feb 2005 20:37:17 -0000
> > @@ -3009,14 +3009,18 @@
> >  		if [ "$$audit_created" -lt "$$audit_expiry" ]; then \
> >  			${ECHO_MSG} "===>  WARNING: Vulnerability database out of date, checking anyway"; \
> >  		fi; \
> > -		vlist=`${_EXTRACT_AUDITFILE} | ${GREP} "${PORTNAME}" | \
> > -			${AWK} -F\| ' /^[^#]/ { \
> 
> Are you sure that the "then" part in your test was done with bsd.port.mk
> that contains this `${GREP} "${PORTNAME}"' snippet, and not before it
> was added?  It is a recent addition, and it serves exactly the purpose
> of speeding up vulnerabilities checking.

Well, it's really not the same -- what about all the ports that have
${PORTNAME} listed already?  They'll match that simplistic test, and
still take several minutes to find out it's a false-positive, won't
they?  There should be quite a few instance of usedta-be-vulnerable
ports, more than enough that it's worthwhile optimizing further...

-- 
Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''''\
  <> green at FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\


More information about the freebsd-ports mailing list