speed up ports install

Eitan Adler eitanadlerlist at gmail.com
Sun Oct 19 14:56:41 UTC 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jeremy Chadwick wrote:
> On Sun, Oct 19, 2008 at 09:21:18AM -0400, Eitan Adler wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> I have a simple idea to make use the threads without any possibility of
>> conflicts.  I am sure there will be someone to point out a negative, but
>> I don't see any.
>> When you do "make install" launch a "make fetch-recursive" thread at the
>> same time.  That way you don't need to wait for the files to
>> install->fetch the next one->install it->fetch the next one...
>> For those who don't want that you could get the old behavior with "make
>> onlyinstall".  I currently do this with a "make" wrapper script and I
>> find installation to be faster.
> 
> What about this scenario?
> 
> # cd /usr/ports/friendly/apes
> # make install
> 
> <forked copy of 'make fetch-recursive' is launched in background>
> <fetch for friendly/apes finishes, "make" starts>
> <"make" finds a dependency which isn't installed, friendly/dogs>
> <"make" begins to build friendly/dogs, but friendly/dogs is still being
>   downloaded from fetch-recursive, because the source is very large;
>   say, 30MBytes>
> <"make" for friendly/dogs forks another fetch-recursive......>
In my case the initial fork would only happen once and the large file
would be a race between make-fetch-recursive and make-fetch.  this is
not a problem.
> 
> What I'm trying to say is, there would need to be mechanisms put in
> place to cause the entire build process to block (halt/pause) until the
> backgrounded fetch-recursive has completed.
> 
- --
GNU Key fingerptrint: 2E13 BC16 5F54 0FBD 62ED 42B6 B65F 24AB E9C2 CCD1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)

iEYEARECAAYFAkj7SpwACgkQtl8kq+nCzNEGRgCfc8t3LFfCD5pH+MizOX0U/+l+
QdsAn1qfFxLKFx0W0k8MQxWe//fRdsda
=8mDL
-----END PGP SIGNATURE-----


More information about the freebsd-ports mailing list