You could use flvectors instead of vectors. If you feed numbers extracted from `flvector-ref' directly into `fl' arithmetic, and if you push numbers directly from `fl' arithmetic back into `flvector-set!', that might save allocation and speed things up.
Otherwise, if you're spending so much time on GC, you might tuning the GC by allocating and retaining a big byte array on the side (which convinces the GC that it doesn't need to collect so frequently, since you're willing to spend all that memory on a byte array anyway). At Tue, 4 Jan 2011 18:36:35 +0100, "Jos Koot" wrote: > I have a simple program using vectors of inexact numbers. > Half the time goes to garbage collection. > I suppose that's because vectors effectively are internally arrays of > pointers to the numbers. > So reassigning an element to a vector may leave garbage. > Do unsafe floating point vectors and operations use arrays without > intermediate pointers? > If that is the case I could speed up my program by a factor of 2. > But before trying that I would appreciate advice. _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users