This part sparked a thought with me later;

Obviously in any case the following is like a very low priority question as performance is good already:


Marc, the current GC and the future GC, does it iterate by depth or breadth?

If the further, indeed the order of objects will generally be extremely close in RAM after any GC copy operation, which would be beneficial from the CPU caching point of view, while with the latter they'd be apart.

(Obviously solid objects like strings and special type vectors are always 'close in memory' with themselves.)

Example:

(define a (vector b c))
(define d (vector e f))

(define g (vector a d))

If by depth the order in RAM after GC copy would be g a b c d e f, and if by breadth, g a d b c e f. 

Regards,
Mikael

2013/1/5 Mikael <mikael.rcv@gmail.com>
.. 
Scheme
[..]
is not exactly as heavily optimized for contemporary CPU caching as 
[..]
..