guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: compiling guix is too slow?


From: Ludovic Courtès
Subject: Re: compiling guix is too slow?
Date: Mon, 03 Jul 2017 12:18:25 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Andy Wingo <address@hidden> skribis:

> On Sat 01 Jul 2017 15:33, address@hidden (Ludovic Courtès) writes:
>
>> Leo Famulari <address@hidden> skribis:
>>
>>> My understanding is that Guile 2.2 traded slower compilation for faster
>>> execution of compiled programs. Hopefully the performance of the
>>> compiler will be improved in later updates to Guile.
>>
>> Yes, that’s a good summary.
>>
>> Most of the code we compile is package definitions that don’t benefit
>> from all the fancy optimizations, so build-aux/build-self.scm (run by
>> ‘guix pull’) turns those off.
>>
>> Unfortunately even with this change compilation is slower than with
>> Guile 2.0, and IMO unacceptably slow for ‘guix pull’ (it takes only a
>> few minutes at most on my laptop, but that’s a lot if we compare to
>> ‘apt-get update’.)
>>
>> Andy, do you have other approaches in mind that we could explore to
>> improve on this?  Evaluating all of gnu/packages instead of compiling it
>> AOT would probably be bad for memory and CPU consumption.
>
> I agree that this is a correct summary.  I think it's possible that even
> with improvements that 2.2 would remain slower than 2.0 to compile, but
> the current situation is clearly not good and needs improvement.  I
> think we need to revisit that synthetic python.scm test you had (can't
> find it atm), see where the compiler is spending time, and focus effort
> there.

It’s here:
<https://lists.gnu.org/archive/html/guile-devel/2017-05/msg00033.html>.

This one was focusing on memory consumption but there’s obviously a
connection between the two.

I’ll see if I can at least provide you with more precise data and
benchmarks so we have an idea of where the problem lies.

Thank you,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]