[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ready for Guile 2.2!
From: |
Ludovic Courtès |
Subject: |
Re: Ready for Guile 2.2! |
Date: |
Thu, 20 Apr 2017 14:35:42 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Hello Guix!
address@hidden (Ludovic Courtès) skribis:
> An unscientific illustration of this point:
>
> scheme@(guile-user)> ,use(guix scripts build)
> scheme@(guile-user)> ,time (guix-build "libreoffice" "certbot" "xmonad" "-n"
> "--no-substitutes" "--no-build-hook")
> The following derivations would be built:
>
> [...]
>
> ;; 2.724686s real time, 3.117062s run time. 0.880827s spent in GC.
> scheme@(guile-user)> (version)
> $1 = "2.0.13"
>
>
> Compared to:
>
> scheme@(guile-user)> ,time (guix-build "libreoffice" "certbot" "xmonad" "-n"
> "--no-substitutes" "--no-build-hook")
>
> [...]
>
> ;; 2.224821s real time, 2.347463s run time. 0.374545s spent in GC.
>
> Roughly an 18% speedup here.
In Guile 2.2.1 Andy fixed an optimization of ‘thunk?’, which is called a
lot when we load packages (via ‘make-promise’, for record fields marked
as ‘delayed’). Now we get… drum roll…
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,use(guix scripts build)
scheme@(guile-user)> ,time (guix-build "libreoffice" "certbot" "xmonad" "-n"
"--no-substitutes" "--no-build-hook")
[...]
;; 1.826528s real time, 1.994426s run time. 0.382750s spent in GC.
scheme@(guile-user)> (version)
$1 = "2.2.1"
--8<---------------cut here---------------end--------------->8---
That’s a 33% speedup compared to 2.0.
Andy super-hero!
Ludo’.