GNU bug report logs - #37305
[PATCH] Allow booting from a Btrfs subvolume.

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Thu, 5 Sep 2019 00:21:01 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 37305 <at> debbugs.gnu.org
Subject: [bug#37305] Making system installation tests faster
Date: Fri, 06 Mar 2020 23:01:14 -0500
Hello, this is a small update, to reflect recent changes to the code
base.

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> 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




This bug report was last modified 5 years and 33 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.