unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* [PATCH] Speed up stage0 bootstrap build using prebuilts
@ 2024-01-04 10:57 Jonas Hahnfeld via Developers list for Guile, the GNU extensibility library
  2024-02-22 20:09 ` Jonas Hahnfeld via Developers list for Guile, the GNU extensibility library
  0 siblings, 1 reply; 2+ messages in thread
From: Jonas Hahnfeld via Developers list for Guile, the GNU extensibility library @ 2024-01-04 10:57 UTC (permalink / raw)
  To: guile-devel

[-- Attachment #1: Type: text/plain, Size: 1366 bytes --]

From 95f15821c535537c7ad4fdae1988855314d56ece Mon Sep 17 00:00:00 2001
From: Jonas Hahnfeld <hahnjo@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" ;;
         stage1) GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage1:${top_builddir}/stage0" ;;
         stage2) GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage1" ;;
         *) GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage2:${top_builddir}/guile-readline" ;;
-- 
2.43.0

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] Speed up stage0 bootstrap build using prebuilts
  2024-01-04 10:57 [PATCH] Speed up stage0 bootstrap build using prebuilts Jonas Hahnfeld via Developers list for Guile, the GNU extensibility library
@ 2024-02-22 20:09 ` Jonas Hahnfeld via Developers list for Guile, the GNU extensibility library
  0 siblings, 0 replies; 2+ messages in thread
From: Jonas Hahnfeld via Developers list for Guile, the GNU extensibility library @ 2024-02-22 20:09 UTC (permalink / raw)
  To: guile-devel, bug-guile; +Cc: Ludovic Courtès

[-- Attachment #1: Type: text/plain, Size: 1615 bytes --]

Dear Guile maintainers,

please consider below patch to speed up the build from release tarballs
that include prebuilt bytecode.

Jonas

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@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" ;;
>          stage1) GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage1:${top_builddir}/stage0" ;;
>          stage2) GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage1" ;;
>          *) GUILE_LOAD_COMPILED_PATH="${top_builddir}/stage2:${top_builddir}/guile-readline" ;;


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-02-22 20:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-04 10:57 [PATCH] Speed up stage0 bootstrap build using prebuilts Jonas Hahnfeld via Developers list for Guile, the GNU extensibility library
2024-02-22 20:09 ` Jonas Hahnfeld via Developers list for Guile, the GNU extensibility library

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).