From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nikita Karetnikov Subject: Re: Faster! Date: Mon, 04 Feb 2013 14:12:20 -0500 Message-ID: <87fw1byjti.fsf@karetnikov.org> References: <874nhzk2dh.fsf@gnu.org> <201301302217.36280.andreas@enge.fr> <87sj5ifhtm.fsf@gnu.org> <201301302309.07567.andreas@enge.fr> <87ehh2ffo1.fsf@gnu.org> <87622dgfgj.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([208.118.235.92]:35235) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U2RSm-0003x8-DY for bug-guix@gnu.org; Mon, 04 Feb 2013 14:12:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U2RSj-0007YO-RC for bug-guix@gnu.org; Mon, 04 Feb 2013 14:12:20 -0500 In-Reply-To: <87622dgfgj.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "(unknown date)") 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: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: bug-guix@gnu.org --=-=-= While we are at it, will it be better to rewrite 'fold-packages' and similar things (like 'search') using streams? For example: #:use-module (ice-9 streams) [...] (define (fold-packages-lazy proc init) "Call (PROC PACKAGE RESULT) for each available package, using INIT as the initial value of RESULT." (stream-fold (lambda (module result) (stream-fold (lambda (var result) (if (package? var) (proc var result) result)) result (list->stream (module-map (lambda (sym var) (false-if-exception (variable-ref var))) module)))) init (list->stream (package-modules)))) 'time' shows that the above is a bit slower than the current version. Will it be faster when we have more packages? What about memory? --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQIcBAEBAgAGBQJREAguAAoJEM+IQzI9IQ38ZAcP+wYNx0azrz1HkBm3O6riR6Rt 4M1tJYw1Ywg5ld2N9WTtOW3NBPSqmAAV2wPqwl5fa1mVBKRWomfqOt0oRT+/wRZJ zhhnwKliBpfBoBHfNZWnnpvaaGJZeKMZ2BWY3hZVVcWEaQPV0hXSfbylkY8JI4U7 gPjf+fbxlp3WUVTULXMCDOnNrStUpbKUW7eRiBqi+HOHIg+jcBG14OtJNnL2WRcI JUB/JrPsBaaPgfnDX3j3TIr4F1hmKuNnNUDiEP1ofExf22HQq4LBdTq4TXRrR6il lni7uBb4FgPis485odhlvab3cUXHvB1jDnokewn1MF5RQMoc+SMFSGBq+ec7uGLJ J8S6VAvAwsaa2ppfkWxraELcKu5awc6oLx/sChOomTBEuZUpB3HMGGNaRFtnFD3i YlxjNuReGE3z2dezoX/PLNMfYAoRnW53yJXBRD9UGHRG70ALK+kTRiiNB/XeFDUg NCC0CQLQdSmz91qtSHidqWADgVDF+NS1+5MipsQYFJIRyv6hr0F/D7e8FnwzuPrV aA6G7n+IBiNgrtWwpNV3//hiuNf2aGE5dW7rZPwJ7VM+lZ8OGfx4hXNAaMaljXHi N5XPtCHbNdHwfMhQLLBWFKLvUaz0DBvGgpMqHn+jIc416MriQvAxtU5joGwkB5VA F8U8+rM0T9n1PrBfQHYm =FrVt -----END PGP SIGNATURE----- --=-=-=--