Fred Gilham wrote: > I don't know if this is relevant, but I was able to run > > (progn (my-time (parse-programs 1024 1000 10000)) (finish-off)) > > with a dynamic-space-size set to 1700. This is X86, FreeBSD with 1G > of memory and 2G swap. I had to change x11-allocate.h so it would let > me use a dynamic-space-size greater than 1024Mb. > > I notice, btw, that several statistics counters seem to overflow: >
I get errors on Sparc. :-) Anyway, here is a simple way to get funny results without running Dick King's code. (defvar *x* (make-array 100000000 :element-type 'double-float)) (room) That's 100 million floats, taking up 800 million bytes. Several issues here. In room.lisp, almost everything is declared fixnum. Obviously, that's not right with the big heaps we have now. I replaced them with (unsigned-byte 32). That fixes many things, but another problem is that sap+ is declared to take a fixnum offset. I think that should probably be a (signed-byte 32). With these fixes, this example produces some output. However, room is very consy, so if you do it a few too many times, you can crash Lisp because the heap overflows with the garbage. :-( Ray
