From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Ready for Guile 2.2! Date: Thu, 20 Apr 2017 14:35:42 +0200 Message-ID: <87r30nz275.fsf@gnu.org> References: <87bmt28qnm.fsf@gnu.org> <87lgs65l3c.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47696) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d1BJM-0005dE-72 for guix-devel@gnu.org; Thu, 20 Apr 2017 08:35:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d1BJJ-0007pu-3Y for guix-devel@gnu.org; Thu, 20 Apr 2017 08:35:48 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34651) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d1BJI-0007pq-Vt for guix-devel@gnu.org; Thu, 20 Apr 2017 08:35:45 -0400 Received: from [193.50.110.185] (port=45876 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d1BJI-0005pT-EG for guix-devel@gnu.org; Thu, 20 Apr 2017 08:35:44 -0400 In-Reply-To: <87lgs65l3c.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Wed, 15 Mar 2017 21:41:27 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel Hello Guix! ludo@gnu.org (Ludovic Court=C3=A8s) 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 =3D "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 =E2=80=98thunk?=E2=80=99, whic= h is called a lot when we load packages (via =E2=80=98make-promise=E2=80=99, for record f= ields marked as =E2=80=98delayed=E2=80=99). Now we get=E2=80=A6 drum roll=E2=80=A6 --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 =3D "2.2.1" --8<---------------cut here---------------end--------------->8--- That=E2=80=99s a 33% speedup compared to 2.0. Andy super-hero! Ludo=E2=80=99.