[plt-scheme] Has PLT performance improved?

From: Andrew Reilly (andrew-scheme at areilly.bpc-users.org)
Date: Thu Jul 2 21:39:48 EDT 2009

On Thu, Jul 02, 2009 at 12:10:29PM -0400, Eli Barzilay wrote:
> On Jul  2, Philippos Apolinarius wrote:
> > 
> > I noticed also that PLT is not so good at array intensive
> > computations. In one of those Lisp benchmarks designed to show that
> > Lisp can be as fast as C, PLT (7.9s, without f64vector) is twice as
> > much time as Bigloo (4.3s, without f64vector). Does PLT team intends
> > to improve array processing?
> 
> An `f64vector' stores the FP numbers in a C vector, which means that
> every access will create a Scheme floating point number -- so
> accessing the same places over and over means that you keep generating
> garbage for the GC.  Using a plain Scheme `vector' is likely to work
> better, and provide more chances for the compiler to better optimize
> the code.

Oh, I thought that I had read that there had been some
optimizations of floating point code to keep float locals on the
stack.  Maybe I'm thinking of a different project.

The situation would be different for, say, s16vectors, because
the resulting short integers would fit into the native
pointer+tag format, right?

On the other hand, native vectors would store the same range of
integer values relatively speedily and space-efficiently too, so
that's not a win either...

I suppose that the same concerns apply to the use of
bytevector-ieee-double-ref and friends under (rnrs bytevectors
(6)) libraries?

Cheers,

-- 
Andrew


Posted on the users mailing list.