[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Write procedure is not backwards compatible

On Sun, Jul 8, 2012 at 11:51 AM, John Boyle <johnthescavenger@x> wrote:
> Time for some benchmarking.

Time is a secondary concern.  The primary concern
is space.  If you have a data structure that requires
half of the available memory to store, then you already
no longer have enough space to build its graph.[1]

It is not unreasonable to work with a single data
structure that large, and we should ensure it's possible
to write it out.


[1] Technically an implementation could include a
visited? bit in the header of all heap objects and so
only require extra storage in the case of actual shares.
However, this requires having a header bit available,
and is also not thread-safe (you'd need to lock the
entire heap during traversal).