From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andreas Rottmann Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCH] Take some lowhanging fruit to speed up R6RS fixnum operations Date: Mon, 28 Mar 2011 00:20:12 +0200 Message-ID: <87sju8jjdv.fsf@gmx.at> References: <1300836034-17716-1-git-send-email-a.rottmann@gmx.at> <1300836034-17716-2-git-send-email-a.rottmann@gmx.at> <87hbas427n.fsf@gnu.org> <87zkokrsp7.fsf@vir.lan> <8739mb1jl6.fsf@gmx.at> <87pqpctwuh.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1301264437 29231 80.91.229.12 (27 Mar 2011 22:20:37 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 27 Mar 2011 22:20:37 +0000 (UTC) Cc: guile-devel@gnu.org To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Mar 28 00:20:33 2011 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.69) (envelope-from ) id 1Q3yK0-0005gi-EF for guile-devel@m.gmane.org; Mon, 28 Mar 2011 00:20:32 +0200 Original-Received: from localhost ([127.0.0.1]:51681 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q3yJz-0005zu-SE for guile-devel@m.gmane.org; Sun, 27 Mar 2011 18:20:31 -0400 Original-Received: from [140.186.70.92] (port=48964 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q3yJs-0005zb-Od for guile-devel@gnu.org; Sun, 27 Mar 2011 18:20:25 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q3yJr-0002Mk-5L for guile-devel@gnu.org; Sun, 27 Mar 2011 18:20:24 -0400 Original-Received: from mailout-de.gmx.net ([213.165.64.22]:39278) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1Q3yJq-0002MD-Nh for guile-devel@gnu.org; Sun, 27 Mar 2011 18:20:23 -0400 Original-Received: (qmail invoked by alias); 27 Mar 2011 22:20:19 -0000 Original-Received: from 83-215-154-5.hage.dyn.salzburg-online.at (EHLO nathot.lan) [83.215.154.5] by mail.gmx.net (mp072) with SMTP; 28 Mar 2011 00:20:19 +0200 X-Authenticated: #3102804 X-Provags-ID: V01U2FsdGVkX1/y5eJlngzycd54bAtgYOqVUTf+z3CUHXsMN1enDz TmLfHXmHsnAvOe Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by nathot.lan (Postfix) with ESMTP id 1A58F3A68F; Mon, 28 Mar 2011 00:20:18 +0200 (CEST) Original-Received: from nathot.lan ([127.0.0.1]) by localhost (nathot.lan [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id crQJSyqfTZI2; Mon, 28 Mar 2011 00:20:14 +0200 (CEST) Original-Received: from delenn.lan (delenn.lan [192.168.3.11]) by nathot.lan (Postfix) with ESMTP id DF7723A685; Mon, 28 Mar 2011 00:20:13 +0200 (CEST) Original-Received: by delenn.lan (Postfix, from userid 1000) id C24FF2C00C1; Mon, 28 Mar 2011 00:20:13 +0200 (CEST) In-Reply-To: <87pqpctwuh.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Sun, 27 Mar 2011 17:19:18 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-Y-GMX-Trusted: 0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 213.165.64.22 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:12018 Archived-At: ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Hello, > > Andreas Rottmann writes: > >> So, that's around 5% improvment (on the ZIP benchmark) for an IMHO >> significantly more hackish implementation. I'm not sure that's worth >> it. WDYT? > > Was it with =E2=80=98fixnum?=E2=80=99 inline, or with the =E2=80=98fixnum= ?=E2=80=99 instruction? > The numbers from my previous mail were with the "clever" `fixnum?' (i.e. the one that uses object-address and bit-twiddling), defined with `define-inline'. I have yet to produce numbers with `fixnum?' as VM primitive and the more complicated, partially-inlinable fixnum operators. I'll keep you posted. > It=E2=80=99s ironic that while R6RS fixnums are a performance hack, they = end up > being less efficient than unbounded integers in Guile. > Indeed. > Do you know how other implementations deal with that? > I will do some research on that topic, investigating Racket, Ikarus and Ypsilon -- these are the R6RS implementations, which I'm most familiar with (besides Guile, obviously). Regards, Rotty --=20 Andreas Rottmann --