Garbage collection issue with DOUBLE-FLOAT vs. SINGLE-FLOAT




Dear cll,

welcome to my very first post on this list, in which I'd like to ask for
your assistance.

I've recently participated in a seminar assignment whose main task was
to implement Gauß' algorithm for solving systems of linear equations
(i.e. LU decomposition). I did that here

http://daniel.kxpq.de/pub/seminar.lisp

(sorry, the MIME type is not set correctly) and wanted to try it out on
some data sets, i.e.

http://daniel.kxpq.de/pub/testdata
http://daniel.kxpq.de/pub/testdata-double

The first one contains only SINGLE-FLOAT numbers and works quite well.
The second one, however, containes only DOUBLE-FLOAT numbers and makes
the garbage collector work like there is no tomorrow. See also those
profiling results

http://daniel.kxpq.de/pub/profile-double-cpu
http://daniel.kxpq.de/pub/profile-double-alloc

(again sorry for the not-set MIME types...)

Can anyone explain this to me? Why cause DOUBLE-FLOATs so much memory
consumption? I'm afraid this is caused by some intermediate results,
maybe due to COERCE, but I cannot see where this happens...

Thanks,
Daniel

--
Daniel Borchmann http://daniel.kxpq.de
GPG (Mail) 04A9 66A1 A17C C91E 39B5 8722 69B0 E96D A109 8F58
.