Subject: Poor performance on low-end ARMv7 devices

From: Ludovic Courtès <[email-masked]>
Date: Tue, 14 Apr 2020 15:59:24 +0200

Hello!

On my Olimex OLinuXino A20, here’s what I get with Guix on Guile 3.0.2:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 1    Apr 11 2020 13:26:01    (current)
  guix 6720616
    repository URL: https://git.savannah.gnu.org/git/guix.git
    commit: 6720616daaf711314827c157a660339990e5cb07
$ time guix build hello -d --no-grafts
/gnu/store/s0di07vhva95rl8p3gimlna5ffca7xlq-hello-2.10.drv

real    0m9.964s
user    0m8.660s
sys     0m0.810s
--8<---------------cut here---------------end--------------->8---

Most of it seems to go in loading .go files:

--8<---------------cut here---------------start------------->8---
$ guix repl
GNU Guile 3.0.2
Copyright (C) 1995-2020 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guix-user)> ,time (use-modules (guix) (gnu) (gnu packages base))
;; 8.104000s real time, 6.879000s run time.  0.755000s spent in GC.
scheme@(guix-user)> (define s (open-connection))
scheme@(guix-user)> ,time (package-derivation s hello #:graft? #f)
$1 = #<derivation /gnu/store/s0di07vhva95rl8p3gimlna5ffca7xlq-hello-2.10.drv => /gnu/store/z4ig2v79x3y7r5w1gs7rg7cgyvja4dn1-hello-2.10 31a5bb8>
;; 3.101000s real time, 2.493000s run time.  0.324000s spent in GC.
--8<---------------cut here---------------end--------------->8---

Ludo’.