[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] build: Speed up .go compilation.
From: |
Ludovic Courtès |
Subject: |
Re: [PATCH] build: Speed up .go compilation. |
Date: |
Mon, 11 Jan 2016 22:14:23 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Mark H Weaver <address@hidden> skribis:
> I haven't yet investigated, but my strong suspicion is that this is due
> to the fact that Guile's module system is not thread safe. More
> specifically, when a new module is created, it mutates the global
> directory of modules in a way that is not thread safe.
>
> New modules are created by 'compile-file', both for the module being
> compiled and for any imported modules that haven't been previously
> loaded. Unfortunately, this means that this approach of compiling files
> in multiple threads within a single guile process is not safe. There
> are likely to be random crashes and corruptions.
Right. This is one of the concerns I raised before I forgot again. ;-)
https://lists.gnu.org/archive/html/guix-devel/2015-11/msg00359.html
Taylan writes:
> The latest version of the patch loads all needed modules first, in the
> main thread, and then compiles the files corresponding to the modules in
> parallel. Does that still lead to mutation in the directory of modules
> in the parallelized segment of the code?
It seems to be safe, but we’re treading in a risky zone.
We’re pushing ‘compile-file’ and related code to its limits. It would
be great to address these issues in Guile itself.
Ludo’.
- Re: [PATCH] build: Speed up .go compilation., (continued)
- Re: [PATCH] build: Speed up .go compilation., Ludovic Courtès, 2016/01/11
- Re: [PATCH] build: Speed up .go compilation., Taylan Ulrich Bayırlı/Kammer, 2016/01/10
- Re: [PATCH] build: Speed up .go compilation., Taylan Ulrich Bayırlı/Kammer, 2016/01/10
- Re: [PATCH] build: Speed up .go compilation., Mathieu Lirzin, 2016/01/10
- Re: [PATCH] build: Speed up .go compilation., Taylan Ulrich Bayırlı/Kammer, 2016/01/10
- Re: [PATCH] build: Speed up .go compilation., Mathieu Lirzin, 2016/01/10
- Re: [PATCH] build: Speed up .go compilation., Ludovic Courtès, 2016/01/11
- Re: [PATCH] build: Speed up .go compilation., Taylan Ulrich Bayırlı/Kammer, 2016/01/11
Re: [PATCH] build: Speed up .go compilation., Mark H Weaver, 2016/01/10
- Re: [PATCH] build: Speed up .go compilation., Taylan Ulrich Bayırlı/Kammer, 2016/01/10
- Re: [PATCH] build: Speed up .go compilation.,
Ludovic Courtès <=
- Re: [PATCH] build: Speed up .go compilation., Taylan Ulrich Bayırlı/Kammer, 2016/01/11
- Re: [PATCH] build: Speed up .go compilation., Ludovic Courtès, 2016/01/14
- Re: [PATCH] build: Speed up .go compilation., Ludovic Courtès, 2016/01/17
- Re: [PATCH] build: Speed up .go compilation., Taylan Ulrich Bayırlı/Kammer, 2016/01/18