[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#37305] Making system installation tests faster
From: |
Maxim Cournoyer |
Subject: |
[bug#37305] Making system installation tests faster |
Date: |
Fri, 06 Mar 2020 23:01:14 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hello, this is a small update, to reflect recent changes to the code
base.
Maxim Cournoyer <address@hidden> writes:
> Hello Ludovic!
>
> I have more benchmark results. Not to be compared with the previous
> results, as these were executed on a much faster machine (24 cores vs 4
> cores), with an SSD instead of a rotative disk.
>
>
> Commands used:
>
> current-guix/pre-built:
>
> time ./pre-inst-env guix system build -e \
> '(begin
> (use-modules
> (gnu packages package-management))
> (parameterize
> ((current-guix-package
> (current-guix/pre-built)))
> ((@@
> (gnu tests install)
> operating-system-with-current-guix)
> (@@
> (gnu tests install)
> %btrfs-root-os))))'
>
>
> current-guix (old fashionned):
>
> time ./pre-inst-env guix system build -e \
> '(begin
> (use-modules
> (gnu packages package-management))
> (parameterize
> ((current-guix-package
> (current-guix)))
> ((@@
> (gnu tests install)
> operating-system-with-current-guix)
> (@@
> (gnu tests install)
> %btrfs-root-os))))'
>
>
> new current-guix (guix self):
>
> time ./pre-inst-env guix system build -e \
> '(begin
> (use-modules ((gnu ci) #:select (channel-instance->package))
> (guix monads)
> (guix channels)
> (guix store)
> ((guix status) #:select (with-status-verbosity))
> ((guix git-download) #:select (git-predicate))
> (guix utils)
> (gnu packages package-management))
> (with-store store
> (with-status-verbosity 2
> (run-with-store store
> (mlet* %store-monad
> ((source-dir -> "/home/mcournoyer/src/guix")
> (source (interned-file source-dir
> "guix-source"
> #:recursive? #t
> #:select? (or (git-predicate source-dir)
> (const #t))))
> (instance -> (checkout->channel-instance source))
> (new-guix-current -> (channel-instance->package instance)))
> (return (parameterize ((current-guix-package new-guix-current))
> ((@@ (gnu tests install)
> operating-system-with-current-guix)
> (@@ (gnu tests install) %btrfs-root-os)))))))))'
There have been some changes made to the modules used in the benchmark code
above. Here's an updated version:
--8<---------------cut here---------------start------------->8---
time ./pre-inst-env guix system build -e \
'(begin
(use-modules ((gnu ci) #:select (channel-source->package))
(guix monads)
(guix channels)
(guix store)
((guix status) #:select (with-status-verbosity))
((guix git-download) #:select (git-predicate))
(guix utils)
(gnu packages package-management))
(with-store store
(with-status-verbosity 2
(run-with-store store
(mlet* %store-monad
((source-dir -> "/home/mcournoyer/src/guix")
(source (interned-file source-dir
"guix-source"
#:recursive? #t
#:select? (or (git-predicate source-dir)
(const #t))))
(instance -> (checkout->channel-instance source))
(new-guix-current -> (channel-source->package instance)))
(return (parameterize ((current-guix-package new-guix-current))
((@@ (gnu tests install)
operating-system-with-current-guix)
(@@ (gnu tests install) %btrfs-root-os)))))))))'
--8<---------------cut here---------------end--------------->8---
Time taken:
real 7m39.912s
user 0m57.129s
sys 0m0.499s
Compared to recycling the Guix development copy from the work tree:
real 0m48.297s
user 0m2.516s
sys 0m0.229s
Maxim
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bug#37305] Making system installation tests faster,
Maxim Cournoyer <=