GNU bug report logs - #69314
[PATCH] Speed up stage0 bootstrap build using prebuilts

Previous Next

Package: guile;

Reported by: Jonas Hahnfeld <hahnjo <at> hahnjo.de>

Date: Thu, 22 Feb 2024 20:56:01 UTC

Severity: normal

Tags: patch

Full log


Message #17 received at 69314 <at> debbugs.gnu.org (full text, mbox):

From: Jonas Hahnfeld <hahnjo <at> hahnjo.de>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 69314 <at> debbugs.gnu.org, guile-devel <at> gnu.org
Subject: Re: bug#69314: [PATCH] Speed up stage0 bootstrap build using prebuilts
Date: Sun, 14 Jul 2024 19:55:54 +0200
[Message part 1 (text/plain, inline)]
On Mon, 2024-05-06 at 21:12 +0200, Jonas Hahnfeld via Developers list
for Guile, the GNU extensibility library wrote:
> On Mon, 2024-05-06 at 11:34 +0200, Ludovic Courtès wrote:
> > Hi Jonas,
> > 
> > Jonas Hahnfeld <hahnjo <at> hahnjo.de> skribis:
> > 
> > > On Thu, 2024-01-04 at 11:57 +0100, Jonas Hahnfeld wrote:
> > > > From 95f15821c535537c7ad4fdae1988855314d56ece Mon Sep 17
> > > > 00:00:00 2001
> > > > From: Jonas Hahnfeld <hahnjo <at> hahnjo.de>
> > > > Date: Thu, 4 Jan 2024 11:44:55 +0100
> > > > Subject: [PATCH] Speed up stage0 bootstrap build using
> > > > prebuilts
> > > > 
> > > > Use prebuilt bytecode of ice-9/eval.go and others for all of
> > > > stage0,
> > > > it is optimized and evaluation is much faster. In my
> > > > environment,
> > > > this speeds up the build of guile-3.0.9 from around 29 minutes
> > > > to
> > > > only 19 minutes.
> > > > 
> > > > * meta/build-env.in: In stage0, prefer prebuilt bytecode over
> > > > just
> > > > compiled stage0 files.
> > > > ---
> > > >  meta/build-env.in | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > diff --git a/meta/build-env.in b/meta/build-env.in
> > > > index bdc88ded4..446a536af 100644
> > > > --- a/meta/build-env.in
> > > > +++ b/meta/build-env.in
> > > > @@ -58,7 +58,7 @@ then
> > > >      fi
> > > >      export GUILE_LOAD_PATH
> > > >      case "$GUILE_BOOTSTRAP_STAGE" in
> > > > -        stage0)
> > > > GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage0:${top_srcdir}/
> > > > prebuilt/@SCM_PREBUILT_BINARIES@" ;;
> > > > +        stage0)
> > > > GUILE_LOAD_COMPILED_PATH="${top_srcdir}/prebuilt/@SCM_PREBUILT_
> > > > BINARIES@:${top_builddir}/stage0" ;;
> > 
> > I don’t understand why changing the order would make a difference.
> > Surely if .go files are available under prebuilt/, they’ll be
> > found,
> > even if that directory comes second?  Or am I missing something?
> 
> Yes, they are found but with lower priority. As I try to explain in
> the commit message (could be improved though), the same bytecode is
> also built during stage0, but without optimizations which makes the
> rest of stage0 awfully slow.

ping, does this explanation make sense?

Jonas
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 144 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.