From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.devel Subject: Re: Inlining calls to primitives Date: Fri, 15 Sep 2006 11:29:54 +0100 Message-ID: <87hcz9v2vx.fsf@ossau.uklinux.net> References: <87bqq4nczu.fsf@laas.fr> <87pseb8f4g.fsf@ossau.uklinux.net> <87fyf6l1yw.fsf@laas.fr> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1158316307 4985 80.91.229.2 (15 Sep 2006 10:31:47 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 15 Sep 2006 10:31:47 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Sep 15 12:31:44 2006 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GOAz1-0007Bi-5B for guile-devel@m.gmane.org; Fri, 15 Sep 2006 12:31:43 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GOAz0-0001lq-KX for guile-devel@m.gmane.org; Fri, 15 Sep 2006 06:31:42 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GOAyx-0001hi-Ik for guile-devel@gnu.org; Fri, 15 Sep 2006 06:31:39 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GOAyw-0001gB-PF for guile-devel@gnu.org; Fri, 15 Sep 2006 06:31:39 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GOAyw-0001g1-Kv for guile-devel@gnu.org; Fri, 15 Sep 2006 06:31:38 -0400 Original-Received: from [80.84.72.33] (helo=mail3.uklinux.net) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GOB15-0001FO-Op for guile-devel@gnu.org; Fri, 15 Sep 2006 06:33:51 -0400 Original-Received: from laruns (host86-129-125-104.range86-129.btcentralplus.com [86.129.125.104]) by mail3.uklinux.net (Postfix) with ESMTP id A9DA340A1FC for ; Fri, 15 Sep 2006 10:31:37 +0000 (UTC) Original-Received: from laruns (laruns [127.0.0.1]) by laruns (Postfix) with ESMTP id EBB8D6F71D for ; Fri, 15 Sep 2006 11:29:54 +0100 (BST) Original-To: Guile-Devel In-Reply-To: <87fyf6l1yw.fsf@laas.fr> ( =?iso-8859-1?q?Ludovic_Court=E8s's_message_of?= "Tue, 05 Sep 2006 18:20:23 +0200") User-Agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) 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:6092 Archived-At: ludovic.courtes@laas.fr (Ludovic Court=E8s) writes: > I made a series of measurements with Guile compiled with `-pg > -O0'. [...] Hi Ludovic, This is a slightly rushed reply, I'm afraid, because I'm going away for a week shortly. (But I have had it in mind for a while, so hopefully there's some sense in the following.) My overall feeling about this, based on weighing the performance gains against maintainability costs, is that I'd be happy for now to see the memoization of globals in Guile core, but not the code inlining. I also think, however, that it would be great if we can keep all the details of your research around, so that we can decide to formalize other parts of it in the future, based on judgments at that time. Therefore... - For the memoization of globals, I'd like to see what a patch looks like that contains only this. We would need some kind of declaration to say "memoize globals in the following code", and it feels obvious to me that this declaration should have lexical scope - in other words, the declaration affects the code that it looks like it affects. I think this means that we have to use a source property and mark expressions as they are read .... but I leave the details of this to you. (One probably obvious point: only globals in car position should be memoized, of course.) - To make sure that we don't lose your research, I suggest you create a new directory "performance" in the CVS "workbook" module (parallel to guile-core), and store your discussion results (per your emails) in a suitably-named file there. Finally, can I ask whether you are doing this work because you are trying to meet a specific performance target? If so, what is the target and how far away from it are you at the moment? Regards, Neil _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel