[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Rust packages and performance impact on Guix
From: |
Ludovic Courtès |
Subject: |
Rust packages and performance impact on Guix |
Date: |
Tue, 23 Feb 2021 11:31:31 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hi!
Ludovic Courtès <ludo@gnu.org> skribis:
> but on ‘wip-build-systems-gexp’ I get:
>
> $ GUIX_PROFILING=gc time ./pre-inst-env guix build qemu -d --no-grafts
> /gnu/store/5n44l8cmrmkr747nsqbxpm4764jdsl3l-qemu-5.1.0.drv
> Garbage collection statistics:
> heap size: 80.52 MiB
> allocated: 249.89 MiB
> GC times: 16
> time spent in GC: 0.75 seconds (34% of user time)
> 2.22user 0.13system 0:02.06elapsed 114%CPU (0avgtext+0avgdata
> 243532maxresident)k
> 0inputs+0outputs (0major+34304minor)pagefaults 0swaps
>
> In short, 30% more garbage allocated and an 8% slowdown.
In the meantime, librsvg on core-updates switched to the version that
depends on Rust. As a result, the above command, on core-updates, went
to ~2.25s on my laptop (+10–20%!).
Would be nice to investigate. One issue is that ‘cargo-build-system’
traverses packages. The ‘crate-closure’ call in there certainly adds a
fair bit of overhead. Could we avoid it?
Thanks,
Ludo’.