[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GSIMapUnlinkNodeFromMap doesn't scale
From: |
Richard Frith-Macdonald |
Subject: |
Re: GSIMapUnlinkNodeFromMap doesn't scale |
Date: |
Tue, 28 May 2002 06:27:31 +0100 |
On Tuesday, May 28, 2002, at 02:44 AM, James Knight wrote:
I suspect the reason someone put that in however many years ago was in
a misguided attempt to guarantee ordering of elements. (IE: new
elements always appear first when enumerating). This behavior is not
necessary - if the user wants to guarantee ordering, he should keep a
seperate array.
I think you are probably right ... and when I recoded the original
functions as the GSI macros and inline functions,
I just assumed this was a necessary feature.
I have applied your patches, with a minor fix to a couple of the calls
to the macros to clear nodes for gc.
I've also tidied up the base library code to end enumerations properly,
and made the functions that do that
clear the enumerator so that, on a GC system, memory can be released
after the enumeration (though I'm sure
that hash/map tables need quite a bit of work to get GC memory handling
right).