|
From: | Stephen Eilert |
Subject: | Re: [Chicken-users] performance of bignums |
Date: | Thu, 25 Jun 2015 18:26:44 -0300 |
In fact, there are two implementations, one of which uses nativeOn Thu, Jun 25, 2015 at 10:26:53PM +0200, Peter Bex wrote:
> On Thu, Jun 25, 2015 at 05:04:17PM -0300, Stephen Eilert wrote:
> > Not sure about the status of this particular GSOC, but SBCL could also be
> > "cheating".
> >
> > http://www.sbcl.org/gsoc2013/ideas/#sec-1.2
> >
> > Now, I thought GMP were GPL'd and SBCL not, so I'm unsure about the legal
> > implications, if it does bundle GMP now.
>
> Thanks for posting that; I hadn't looked at the sbcl implementation
> of the pi-digits benchmark, but indeed that page says "Pi digits on
> the benchmarks game is currently a bunch of calls to GMP". This would
> *really* be cheating in my opinion, as it's not testing the language
> implementation but using nonstandard extensions that replace stuff
> that's already part of the core.
>
> I had just assumed it would be using the sbcl native implementation
> (which indeed is pretty damn good and almost 100% pure Lisp code).
operations. It is still faster than CHICKEN and very close to Guile/GMP:
http://benchmarksgame.alioth.debian.org/u32/program.php?test=pidigits&lang=sbcl&id=2#log
It does use some type annotations, though. Adding some to the
CHICKEN version makes it go a tiny bit faster, but not by much.
Cheers,
Peter
; note: forced to do GENERIC-* (cost 30) ; unable to do inline fixnum arithmetic (cost 4) because: ; The first argument is a INTEGER, not a FIXNUM. ; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES FIXNUM &REST T). ; unable to do inline (signed-byte 32) arithmetic (cost 5) because: ; The first argument is a INTEGER, not a (SIGNED-BYTE 32). ; The result is a (VALUES INTEGER &OPTIONAL), not a (VALUES ; (SIGNED-BYTE 32) &REST ; T).
[Prev in Thread] | Current Thread | [Next in Thread] |