If anyone feels like hacking on collection classes... Over the last week I did some profiling, and the overwhelming majority of NS[Mutable]Dictionaries that are created have only NSString subclasses as keys. We'd almost certainly see some improvement if these were to use some kind of trie-derived data structure indexed by characters internally, rather than a hash table, although the cost of inserting a non-string key would be relatively large (as it would require copying everything into a hash table).
David On 1 Aug 2013, at 07:48, Eric Wasylishen <[email protected]> wrote: > Hi Luboš, > I started implementing NSOrderedSet but got distracted with some other > things. > > My current idea is to use a combination of an NSMutableArray, and a > NSMapTable configured to map objects to integers. The idea is that the array > maps the object's index to the object, and the map table maps objects to > their index. > > I have some untested code that illustrates the idea here: > http://svn.gna.org/svn/etoile/trunk/Etoile/Frameworks/CoreObject/Sandbox/COWeakMutableOrderedSet.m > > This is just a NSMutableOrderedSet subclass where I wanted weak references, > but I think we could use the same code for a concrete GSMutableOrderedSet > subclass. Btw, those are all of the primitive methods for NSOrderedSet / > NSMutableOrderedSet according to the Foundation release notes. > > Eric > > On 2013-07-23, at 3:45 AM, Luboš Doležel <[email protected]> wrote: > >> Hi, >> >> gnustep-base currently lacks NSOrderedSet. >> >> Before I set to work, does gnustep-base include any primitives that could >> be/should be used for this? This seems to be a case for a binary tree. >> >> -- >> Luboš Doležel >> >> >> _______________________________________________ >> Gnustep-dev mailing list >> [email protected] >> https://lists.gnu.org/mailman/listinfo/gnustep-dev > > _______________________________________________ > Gnustep-dev mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/gnustep-dev -- Sent from my Difference Engine _______________________________________________ Gnustep-dev mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnustep-dev
