[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] DRAFT: build: Compile scheme modules in batches (was Re: Rel
From: |
Efraim Flashner |
Subject: |
Re: [PATCH] DRAFT: build: Compile scheme modules in batches (was Re: Release!) |
Date: |
Sat, 7 Oct 2017 22:35:08 +0300 |
User-agent: |
Mutt/1.8.3 (2017-05-23) |
On Sat, Oct 07, 2017 at 12:06:51AM -0400, Mark H Weaver wrote:
> Ricardo Wurmus <address@hidden> writes:
>
> > Hi Ludo,
> >
> >>> Here are some important items I can think of:
> > […]
> >>> • Guile 2.2 compiler terrible issue:
> >>>
> >>> <https://lists.gnu.org/archive/html/guile-devel/2017-05/msg00033.html>.
> >
> > One way to side-step this issue for the upcoming release is to use one
> > Guile process per file when running “guix pull”. This will make it run
> > a lot slower, but that would be better than the current situation.
>
> I've attached a workaround that I've been using for the last 6 weeks on
> my MIPS-based Yeeloong running GuixSD, since it only has 1 GB of RAM and
> otherwise it would not be able to successfully build the 'guix' package.
>
> Note that I never use 'guix pull', so I'm not sure off-hand whether this
> solves the problem there, but it certainly greatly reduces the memory
> needed to run 'make' and thus to build the 'guix' package.
>
> This patch modifies build-aux/compile-all.scm to work as follows: after
> loading all modules in the parent process, it then forks off a child and
> compiles 20 modules in parallel within that child while the parent
> waits. When the child is finished compiling those 20 modules, the child
> exits (thus freeing the memory leaked during compilation), and then the
> parent spawns a new child to compile the next 20 modules, and so on,
> until all the modules are compiled.
>
> We should probably consider applying this to master. Thoughts?
>
> Mark
>
>
Can we give it a set to compile in order? For example building
guix/build[-system] and then gnu/build, and then only at the end build
gnu/services {guix,gnu}/tests? It might be slightly faster to build the
modules that don't pull in gnu/packages/* first and then end with those
that would use those modules.
--
Efraim Flashner <address@hidden> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
signature.asc
Description: PGP signature
- Re: Release!, (continued)
Re: Release!, Ricardo Wurmus, 2017/10/06
[PATCH] DRAFT: build: Compile scheme modules in batches (was Re: Release!), Mark H Weaver, 2017/10/07
- Re: [PATCH] DRAFT: build: Compile scheme modules in batches (was Re: Release!),
Efraim Flashner <=
- Re: [PATCH] DRAFT: build: Compile scheme modules in batches (was Re: Release!), Ricardo Wurmus, 2017/10/08
- Re: [PATCH] DRAFT: build: Compile scheme modules in batches (was Re: Release!), Ricardo Wurmus, 2017/10/08
- Re: [PATCH] DRAFT: build: Compile scheme modules in batches (was Re: Release!), Ricardo Wurmus, 2017/10/08
- Re: [PATCH] DRAFT: build: Compile scheme modules in batches (was Re: Release!), Ludovic Courtès, 2017/10/09
- Re: [PATCH] DRAFT: build: Compile scheme modules in batches (was Re: Release!), Ricardo Wurmus, 2017/10/09
- Re: [PATCH] DRAFT: build: Compile scheme modules in batches (was Re: Release!), Ricardo Wurmus, 2017/10/10
Re: [PATCH] DRAFT: build: Compile scheme modules in batches (was Re: Release!), Ludovic Courtès, 2017/10/09
Re: Release!, Ludovic Courtès, 2017/10/09