From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Wingo Subject: Re: Making evaluations faster Date: Tue, 19 Dec 2017 11:56:28 +0100 Message-ID: <87y3lz56lf.fsf@igalia.com> References: <87po7b6qb2.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46208) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eRFaI-00056c-6E for guix-devel@gnu.org; Tue, 19 Dec 2017 05:57:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eRFaF-0007ho-4k for guix-devel@gnu.org; Tue, 19 Dec 2017 05:57:18 -0500 In-Reply-To: <87po7b6qb2.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Tue, 19 Dec 2017 10:05:21 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel On Tue 19 Dec 2017 10:05, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > I=E2=80=99ve been looking for ways to make evaluations (computing the der= ivation > of every package for every supported architecture, like Hydra and > Cuirass do) faster. > > I measured evaluations with: > > rm -rf /tmp/cache hydra-jobs.scm > mkdir /tmp/cache > XDG_CACHE_HOME=3D/tmp/cache make hydra-jobs.scm > > Currently build-aux/hydra/gnu-system.scm, which performs the evaluation > work, turns on auto-compile such that every Guix module gets compiled. > > I measured with 2.2.3 the impact of turning off auto-compilation for > everything but the core modules (meaning that package modules get > interpreted instead) and surprisingly, this is slower than compiling > everything: > > * 2.2.3, auto-compile everything minus (system base compile) & co. > > 1362.79user 3.35system 20:59.40elapsed 108%CPU (0avgtext+0avgdata 12014= 44maxresident)k > 0inputs+203560outputs (0major+285018minor)pagefaults 0swaps > > * 2.2.3, auto-compile (guix packages) only > > 2462.05user 3.69system 39:26.05elapsed 104%CPU (0avgtext+0avgdata 21215= 32maxresident)k > 128inputs+36568outputs (0major+242281minor)pagefaults 0swaps > > * 2.2.3, auto-compile ((guix packages) (guix build-system gnu) (guix do= wnload)) > > 2364.22user 3.21system 37:44.45elapsed 104%CPU (0avgtext+0avgdata 20614= 96maxresident)k > 256inputs+41800outputs (0major+236514minor)pagefaults 0swaps > > I guess the extra source properties that are retained when evaluating > account for part the space and time overhead, but I=E2=80=99m not sure th= is > explains everything. > > Andy, what do you think of this? I have literally no idea :) This isn't really enough information for me to understand things. I guess my biggest question would be, why are you using the auto-compile infrastructure? Why wouldn't you compile the things you want to compile and otherwise turn off auto-compilation? Andy