From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Mikael Djurfeldt" Newsgroups: gmane.lisp.guile.devel Subject: Re: fixes to goops + light structs + 'u' slots Date: Wed, 16 Apr 2008 08:52:34 +0200 Message-ID: <66e540fe0804152352o5bed9576gc0f915c40b7a63d0@mail.gmail.com> References: <87zls1bdk6.fsf@gnu.org> <87fxtpwq0t.fsf@gnu.org> <66e540fe0804131209y6a3a1810i72a6ba048a7cb83b@mail.gmail.com> <66e540fe0804152334p4d2ba39bha19bc012e1c0521c@mail.gmail.com> Reply-To: mikael@djurfeldt.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1208329568 19556 80.91.229.12 (16 Apr 2008 07:06:08 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 16 Apr 2008 07:06:08 +0000 (UTC) Cc: =?ISO-8859-1?Q?Ludovic_Court=E8s?= , guile-devel@gnu.org To: "Andy Wingo" Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Apr 16 09:06:37 2008 connect(): Connection refused 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 1Jm1il-00068v-0B for guile-devel@m.gmane.org; Wed, 16 Apr 2008 09:06:19 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jm1i6-0008VD-IZ for guile-devel@m.gmane.org; Wed, 16 Apr 2008 03:05:38 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jm1hr-0008Qp-P4 for guile-devel@gnu.org; Wed, 16 Apr 2008 03:05:23 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jm1hp-0008Pk-Ca for guile-devel@gnu.org; Wed, 16 Apr 2008 03:05:22 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jm1hp-0008Ph-75 for guile-devel@gnu.org; Wed, 16 Apr 2008 03:05:21 -0400 Original-Received: from mx20.gnu.org ([199.232.41.8]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Jm1hn-0001gz-Sm for guile-devel@gnu.org; Wed, 16 Apr 2008 03:05:20 -0400 Original-Received: from wa-out-1112.google.com ([209.85.146.182]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jm1VX-0005Af-0j for guile-devel@gnu.org; Wed, 16 Apr 2008 02:52:39 -0400 Original-Received: by wa-out-1112.google.com with SMTP id k34so3369229wah.10 for ; Tue, 15 Apr 2008 23:52:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:reply-to:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; bh=KWsIkQ+nTBSZXhiLw16UcnV+CTW8bIrO/I9G+/xi/cA=; b=XweY3Xx5qffTJyx9BKnxrilGfg9KvBWbOQdgYd/TkpZJblcQE5OYJwNftsRnH6YCZag0/PuTj8/VBzSbc9Ks5rR4rEr1COflDNijU0lxjtBsk6zUSTjsifEdCh8705i2XYttGH2mzDmr+RYcG6ZM/HK20llzZbMv6NTqAh1tN48= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:reply-to:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=ROTAYgC2RgYqGcW90aotsNf+NPeeVYqxlEKBAZ/Sc7JxdT/rzvt2Vf93jq8Rab8c6ggLwLShML3NHydyuZ6xUyvBkqrFOl1T7KRuAAcxbX0YYt2jK7UICu8bwZ6HxTIqE+EXmNDj0HrHc8kolwbbjWdn8aZZsLsxDR63nc0wJlU= Original-Received: by 10.114.148.1 with SMTP id v1mr5837049wad.199.1208328754433; Tue, 15 Apr 2008 23:52:34 -0700 (PDT) Original-Received: by 10.114.149.19 with HTTP; Tue, 15 Apr 2008 23:52:34 -0700 (PDT) In-Reply-To: <66e540fe0804152334p4d2ba39bha19bc012e1c0521c@mail.gmail.com> Content-Disposition: inline X-Google-Sender-Auth: 3b1a141f71f0bb4b X-detected-kernel: by mx20.gnu.org: Linux 2.6 (newer, 2) X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) 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:7165 Archived-At: 2008/4/16, Mikael Djurfeldt : > 2008/4/16, Andy Wingo : > > > On Sun 13 Apr 2008 21:09, "Mikael Djurfeldt" writes: > > > I then ran accessor ref tests on objects that necessarily had their slots > > bound, and thus would go through @assert-bound-ref: > > > > > (3) If the determination can be made that the slot will never be > > unbound, and we compile to the @assert-bound-ref case, then > > accessor refs are indeed faster than slot-ref. > > > [...] > > > I would speculate, Mikael, that it is case (3) that you are recalling. > > > Right, although it is, in fact, @slot-ref which is the special form (I > said "@assert-bound-ref" by mistake). Try the same benchmark > accessing the third or fourth slot. To be more clear: It is only for bound slots that the accessor can be compiled down to the special form @slot-ref which was significantly faster than other tested access methods, using that version of Guile on the type hardware which was available then, at the time goops was developed. It is new to me to see such small differences in timing. Maybe it is also worth rolling up the loop a bit so that you have a sequence of accesses in the loop body?