From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludovic.courtes@laas.fr (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: Evolution & optimization of the module system Date: Fri, 23 Feb 2007 14:15:44 +0100 Organization: LAAS-CNRS Message-ID: <87lkipovzz.fsf@laas.fr> References: <87sld4g6io.fsf@chbouib.org> <877iufhwj6.fsf@zip.com.au> <87irdyxzy3.fsf@laas.fr> <87wt2bxibp.fsf@zip.com.au> <87lkiq8s5k.fsf@laas.fr> <87bqjl25nk.fsf@zip.com.au> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1172236564 16907 80.91.229.12 (23 Feb 2007 13:16:04 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 23 Feb 2007 13:16:04 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Feb 23 14:15:53 2007 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HKaH6-0004nz-Am for guile-devel@m.gmane.org; Fri, 23 Feb 2007 14:15:48 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HKaH5-0004qi-OZ for guile-devel@m.gmane.org; Fri, 23 Feb 2007 08:15:47 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HKaH3-0004qd-Dz for guile-devel@gnu.org; Fri, 23 Feb 2007 08:15:45 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HKaH0-0004qO-Vs for guile-devel@gnu.org; Fri, 23 Feb 2007 08:15:44 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HKaH0-0004qL-Qv for guile-devel@gnu.org; Fri, 23 Feb 2007 08:15:42 -0500 Original-Received: from laas.laas.fr ([140.93.0.15]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.52) id 1HKaGz-0005yH-KS for guile-devel@gnu.org; Fri, 23 Feb 2007 08:15:42 -0500 Original-Received: by laas.laas.fr (8.13.8/8.13.8) with SMTP id l1NDFbFQ016174; Fri, 23 Feb 2007 14:15:39 +0100 (MET) X-URL: http://www.laas.fr/~lcourtes/ X-Revolutionary-Date: 5 =?iso-8859-1?Q?Vent=F4se?= an 215 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEB1F5364 X-PGP-Key: http://www.laas.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 821D 815D 902A 7EAB 5CEE D120 7FBA 3D4F EB1F 5364 X-OS: powerpc-unknown-linux-gnu Mail-Followup-To: guile-devel@gnu.org In-Reply-To: <87bqjl25nk.fsf@zip.com.au> (Kevin Ryde's message of "Fri, 23 Feb 2007 09:23:27 +1100") User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) X-Spam-Score: 0.307 () MAILTO_TO_SPAM_ADDR X-Scanned-By: MIMEDefang at CNRS-LAAS on 140.93.0.15 X-MIME-Autoconverted: from 8bit to quoted-printable by laas.laas.fr id l1NDFbFQ016174 X-detected-kernel: Solaris 10 (beta) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:6548 Archived-At: Hi, Kevin Ryde writes: > ludovic.courtes@laas.fr (Ludovic Court=E8s) writes: >> >> The measurements in the `module-duplicates.scm' file I posted choose >> USES =3D 10000 by default, which is arguably unrealistic. > > Was that 10000 imported modules? That's well outside the realm of > reason! :) Right. :-) > Normally there'll be perhaps up to 20 imports, so there > should be no call to change unless that sort of quantity is hurting > badly (which I would say I've never noticed it doing). Well it _does_ hurt, even with real-life numbers of imports, as the experiments I made tend to show (I'm talking about the measurements made on real applications, not the synthetic evaluation in `module-duplicates.scm'). I really encourage everyone to apply the patch and make timing measurements on their own applications, so that we get better insight about the benefits of the changes. Alternatively, we could start thinking about the module system "from scratch". From a performance viewpoint, the question is: how can we provide the fastest variable lookup and duplicate binding detection, i.e., using what data structures and algorithms? Hopefully it is now clear that improvements can be made over the current implementation in these respects. Then, how? I'm not sure other interpreters provide such sophisticated module systems. SLIB's `require' is much simpler for instance, and SCSH (or is it Scheme48?) doesn't seem to address duplicate binding detection according to the "Module Warning" note in Section 11.1.3 of the manual for version 0.6.7. Thanks, Ludovic. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel