This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: librep's indirect threaded bytecode interpretter
- To: Michael Livshin <mlivshin at bigfoot dot com>
- Subject: Re: librep's indirect threaded bytecode interpretter
- From: karlheg at bittersweet dot inetarena dot com (Karl M. Hegbloom)
- Date: 22 May 2000 09:17:37 -0700
- Cc: guile at sourceware dot cygnus dot com
- References: <87g0rb6u4s.fsf@bittersweet.intra> <s3snvbxb1g.fsf@bigfoot.com>
>>>>> "Michael" == Michael Livshin <mlivshin@bigfoot.com> writes:
Michael> karlheg@bittersweet.inetarena.com (Karl M. Hegbloom) writes:
>> I ran a simple benchmark today, between `rep'
>> and `guile'. I defined an iterative factorial function, (the classic
>> one that passes an accumulator and (1- n) via a tail-call), and ran
>> it 1000 times in a loop with (fact-it 1 400). Guile took almost a
>> minute to finish, and `rep' finished in about 5.2 seconds.
Michael> hmmm... actually, this looks more connected to the fact that Rep uses
Michael> the GMP library and Guile doesn't.
Yes, that's what John Harper, the primary author of `rep' says also.
>>>> "John" == John Harper <john@dcs.warwick.ac.uk> wrote:
Karl> I ran a simple benchmark on `rep' and `guile' today... I
Karl> ran a `fact-it' (iterative tail-calling factorial, passing
Karl> an accumulator and n) in a loop... 1000 (fact-it 1 400)'s.
Karl> Guile took almost a minute, and Rep ran it in just over 5
Karl> seconds. The latest Rep is about 30 seconds faster than the
Karl> version that I got from Debian
John> cool :-)
John> [ (fac 400) is quite a large number, so libgmp may be taking
John> most of the strain here.. I typically see that (cvs) rep is
John> at least twice as fast as guile on `normal' code ]