Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Apr 2007 19:44:47 +0200
From:      Pav Lucistnik <pav@FreeBSD.org>
To:        Benjamin Lutz <mail@maxlor.com>
Cc:        ports@FreeBSD.org
Subject:   Re: parallel builds revisited
Message-ID:  <1176227087.27233.8.camel@ikaros.oook.cz>
In-Reply-To: <200704100452.40574.mail@maxlor.com>
References:  <200704100452.40574.mail@maxlor.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-eNngAbpp4A7dbewPFXHm
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable

Benjamin Lutz p=ED=B9e v =FAt 10. 04. 2007 v 04:52 +0200:

> Some time ago, after buying a Core 2 Duo system, I've become interested=20
> in doing something about the inherent single-threadedness of the ports.=20
> Even though I have a dualcore machine, ports builds only ever use one=20
> core. I started thinking about various approaches to introduce=20
> parallelism to ports builds and wrote down my thoughts here:
> http://marc.info/?l=3Dfreebsd-ports&m=3D116124997126657&w=3D2

I have same thoughts, and I wrote about it on Project Ideas page.
That text materialized into a Summer of Code proposal, which is most
probably going to get funded. So stay tuned. However, the proposal
concentrates mainly on allowing several ports to build in parallel.

> Well, since then I've tinkered with various approaches. I concentrated=20
> on using make's -j feature. After adding the flag to the gmake=20
> invocation in bsd.port.mk, I quickly noticed that some ports can take=20
> advantage of the flag and thus build much more quickly (eg, all the KDE=20
> ports),=20

Because they use gmake

> others are still single-threaded (X.org),=20

Because they use imake

> but of course there are also ports that fail to build (Openoffice.org).=20

Now that means nothing :)

> This means that a per-port switch is required.

Yes, a whitelist approach looks best.

>   3) Save this to /usr/local/etc/parallel_builds.conf:
>      http://www.maxlor.com/temp/parallel_builds.conf .
>      This is a list of ports as stored in PKGORIGIN, or as
>      pkg_info -o reports them.

I was thinking about having it embedded in every port's Makefile
directly, instead. Something like

USE_MAKE_JOBS=3D	2

> So now I would like to invite you test, comment, or simply philosophize=20
> on these changes.

I have great interest in this development. This is a highly desirable
feature to have.

--=20
Pav Lucistnik <pav@oook.cz>
              <pav@FreeBSD.org>

Linux is a happy free-for-all chaos.

--=-eNngAbpp4A7dbewPFXHm
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Toto je =?UTF-8?Q?digit=C3=A1ln=C4=9B?=
	=?ISO-8859-1?Q?_podepsan=E1?= =?UTF-8?Q?_=C4=8D=C3=A1st?=
	=?ISO-8859-1?Q?_zpr=E1vy?=

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQBGG80MntdYP8FOsoIRAk7+AJ4z6Vqpo1Pqgi4dqW0O2CjjjfGRoACgtLFd
CxX7r6UX4+D5LMbuOk6z1SA=
=RO4p
-----END PGP SIGNATURE-----

--=-eNngAbpp4A7dbewPFXHm--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1176227087.27233.8.camel>