More speed increases for make-ing ports

Stephen Montgomery-Smith stephen at math.missouri.edu
Tue May 22 14:35:33 UTC 2007


Kris Kennaway wrote:
> On Tue, May 22, 2007 at 01:47:23AM -0500, Stephen Montgomery-Smith wrote:
>   
>> This small modification cuts off about 25% off pkg_version on my system.
>>
>> Basically bsd.gnome.mk recursively finds all the dependencies, but many 
>> of them are listed many times.  This makes make work extra hard when it 
>> doesn't have to.  I simply weed out the repeated entries.
>>
>>     
>
>   
>> --- bsd.gnome.mk-orig	Tue May 22 01:29:08 2007
>> +++ bsd.gnome.mk	Tue May 22 01:29:22 2007
>> @@ -655,6 +655,8 @@
>>  _USE_GNOME+=	${${component}_USE_GNOME_IMPL} ${component}
>>  . endfor
>>  
>> +_USE_GNOME!=(for i in ${_USE_GNOME}; do ${ECHO_CMD} $$i; done) | sort -u
>> +
>>  # Setup the GTK+ API version for pixbuf loaders, input method modules,
>>  # and theme engines.
>>  PLIST_SUB+=			GTK2_VERSION="${GTK2_VERSION}"
>>     
>
> Be careful, != assignments may add thousands of process invocations to
> large targets like 'make index' and can slow it down dramatically.
>
> Kris
>
>
>   

Thanks for the warnings.  It turns out that this can be done without 
"!=", but even if this were not the case, I think that in this situation 
the savings would definitely outweigh the costs.  For example, this 
dramatically improves the time for invocations of "make -V PKGNAME" for 
deskutils/alacarte (on my system from about 1.5 seconds to .3 seconds).  
It only affects a few ports, but enough, I think, to increase the speed 
of "make index" noticeably albeit not dramatically.

Stephen



More information about the freebsd-ports mailing list