From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: (set! (@@ MOD NAME) EXP) considered harmful Date: Fri, 18 Sep 2009 00:16:39 +0200 Message-ID: <871vm52p4o.fsf@gnu.org> References: <877hwhqq2g.fsf@netris.org> <873a6nykap.fsf@ossau.uklinux.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1253225904 843 80.91.229.12 (17 Sep 2009 22:18:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 17 Sep 2009 22:18:24 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Sep 18 00:18:18 2009 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 1MoPIw-00049T-L6 for guile-devel@m.gmane.org; Fri, 18 Sep 2009 00:18:18 +0200 Original-Received: from localhost ([127.0.0.1]:39138 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MoPIw-0003EB-1b for guile-devel@m.gmane.org; Thu, 17 Sep 2009 18:18:18 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MoPIt-0003D4-0w for guile-devel@gnu.org; Thu, 17 Sep 2009 18:18:15 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MoPIn-0003BD-V1 for guile-devel@gnu.org; Thu, 17 Sep 2009 18:18:14 -0400 Original-Received: from [199.232.76.173] (port=57974 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MoPIn-0003B2-Md for guile-devel@gnu.org; Thu, 17 Sep 2009 18:18:09 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:39106) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MoPIn-0000Ij-20 for guile-devel@gnu.org; Thu, 17 Sep 2009 18:18:09 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.50) id 1MoPIl-00045m-Jn for guile-devel@gnu.org; Fri, 18 Sep 2009 00:18:07 +0200 Original-Received: from 78.251.23.100 ([78.251.23.100]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 18 Sep 2009 00:18:07 +0200 Original-Received: from ludo by 78.251.23.100 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 18 Sep 2009 00:18:07 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 25 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 78.251.23.100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Jour de la Vertu de =?iso-8859-1?Q?l'Ann=E9e?= 217 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 821D 815D 902A 7EAB 5CEE D120 7FBA 3D4F EB1F 5364 X-OS: x86_64-unknown-linux-gnu Cancel-Lock: sha1:WSxqL4hvXhran77HjHJB+J7ofwI= X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) 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:9344 Archived-At: Hello! Neil Jerram writes: > (Ludovic recently suggested an optimization for constant additions, and > I assumed that would require this kind of rollback, if the definition of > `+' was later changed.) I generally agree with the praise of dynamicity, but there’s a tension between dynamicity and performance. Mark’s example is a good illustration. Likewise, many optimizations sacrifice dynamicity: open coding (see ‘*primcall-ops*’ and ‘vm-i-scheme.c’), inlining, constant folding, etc. One could event argue that the mixture of code affected by these optimizations and unaffected code is fragile in the presence of global redefinitions. Perhaps the compiler should make it possible to choose a tradeoff between dynamicity and performance, e.g., by actually honoring the ‘:O’ compile option? Thanks, Ludo’.