From owner-freebsd-hackers@FreeBSD.ORG Mon Nov 7 07:46:29 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4AFED1065730 for ; Mon, 7 Nov 2011 07:46:28 +0000 (UTC) (envelope-from peterjeremy@acm.org) Received: from mail14.syd.optusnet.com.au (mail14.syd.optusnet.com.au [211.29.132.195]) by mx1.freebsd.org (Postfix) with ESMTP id 60CB88FC14 for ; Mon, 7 Nov 2011 07:46:28 +0000 (UTC) Received: from server.vk2pj.dyndns.org (c220-239-116-103.belrs4.nsw.optusnet.com.au [220.239.116.103]) by mail14.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id pA77kPCa007396 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 7 Nov 2011 18:46:26 +1100 X-Bogosity: Ham, spamicity=0.000000 Received: from server.vk2pj.dyndns.org (localhost.vk2pj.dyndns.org [127.0.0.1]) by server.vk2pj.dyndns.org (8.14.5/8.14.4) with ESMTP id pA77kPxq091437; Mon, 7 Nov 2011 18:46:25 +1100 (EST) (envelope-from peter@server.vk2pj.dyndns.org) Received: (from peter@localhost) by server.vk2pj.dyndns.org (8.14.5/8.14.4/Submit) id pA77kOEP091436; Mon, 7 Nov 2011 18:46:24 +1100 (EST) (envelope-from peter) Date: Mon, 7 Nov 2011 18:46:24 +1100 From: Peter Jeremy To: Alexander Best Message-ID: <20111107074624.GB91353@server.vk2pj.dyndns.org> References: <20111105223021.GA52651@freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="OwLcNYc0lM97+oe1" Content-Disposition: inline In-Reply-To: <20111105223021.GA52651@freebsd.org> X-PGP-Key: http://members.optusnet.com.au/peterjeremy/pubkey.asc User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-hackers@freebsd.org Subject: Re: reducing compiler instances during buildkernel X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Nov 2011 07:46:29 -0000 --OwLcNYc0lM97+oe1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2011-Nov-05 22:30:21 +0000, Alexander Best wrote: >wouldn't it be possible to somehow spawn N gcc or clang instances >(make -jN buildkernel) and then pipe the src to one of those N instances? >just like with something like multics N processes were started and then pe= ople >used the job control language to load binaries into those processes. This is likely to require very non-trivial changes to gcc or clang. The major issue is that the process needs to be in a known initial state before beginning a compile - and it's very unlikely that the compiler cleans itself up enough to return to that state. If you really want to trim low-hanging fruit, try disposing of libtool and GNU configure instead - their overheads are _many_ orders of magnitude higher than make exec()ing gcc. --=20 Peter Jeremy --OwLcNYc0lM97+oe1 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iEYEARECAAYFAk63jNAACgkQ/opHv/APuIcl+QCgiX+g1iNm47KV5GIA+yaJ474r CVUAoKQJQXVAkJfvFBhqbB1iUV5DAy/U =G+sz -----END PGP SIGNATURE----- --OwLcNYc0lM97+oe1--