From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Faster! Date: Sat, 16 Mar 2013 17:43:03 +0100 Message-ID: <87obejs3c8.fsf@gnu.org> References: <874nhzk2dh.fsf@gnu.org> <201301302147.37021.andreas@enge.fr> <878v7aidqj.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 ([208.118.235.92]:34859) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGuCR-0002dK-Ij for bug-guix@gnu.org; Sat, 16 Mar 2013 12:43:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UGuCQ-0006Mv-Mh for bug-guix@gnu.org; Sat, 16 Mar 2013 12:43:15 -0400 Received: from [2a01:e0b:1:123:ca0a:a9ff:fe03:271e] (port=43513 helo=xanadu.aquilenet.fr) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGuCQ-0006Lw-GR for bug-guix@gnu.org; Sat, 16 Mar 2013 12:43:14 -0400 In-Reply-To: <878v7aidqj.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Wed, 30 Jan 2013 22:04:52 +0100") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Andreas Enge Cc: bug-guix@gnu.org The saga continues! With today=E2=80=99s commit, the execution time of guix build -e '(@ (gnu packages emacs) emacs)' -d is down from 1.54s to 1.08s on my 2.6 GHz laptop. That=E2=80=99s 30%. :-) The head of the profile is now like this: --8<---------------cut here---------------start------------->8--- scheme@(guile-user)> ,pr (package-derivation s emacs) % cumulative self time seconds seconds name 29.07 0.35 0.33 write 8.14 0.09 0.09 search-path 6.98 0.09 0.08 open-file 5.81 0.07 0.07 read 4.65 0.51 0.05 call-with-output-string 4.65 0.05 0.05 %after-gc-thunk 3.49 0.04 0.04 hash-ref 2.33 0.24 0.03 write-derivation 2.33 0.07 0.03 bytevector-quintet-fold-right 2.33 0.03 0.03 # 2.33 0.03 0.03 hash-set! 2.33 0.03 0.03 display [...] 0.00 0.79 0.00 build-expression->derivation [...] --- Sample count: 86 Total time: 1.125903012 seconds (0.152722833 seconds in GC) --8<---------------cut here---------------end--------------->8--- IOW, the main bottleneck is in Guile=E2=80=99s =E2=80=98write=E2=80=99 and = port output (as called from =E2=80=98build-expression->derivation=E2=80=99). We also do a lot of GC. This could be improved by optimizing the RPCs in store.scm to allocate less. Ludo=E2=80=99.