>
> I know the sorted-map, but my question is : *why the map is not 'ordered' 
> when size is larger than 32 ?*
>

Because a hash-map is never guaranteed to be sorted.  In your case, it 
sounds like Clojure is being smart and using a different implementation for 
small maps (say, less than 32 elements) than it is using for larger maps. 
 This is probably because there's some clever optimization that can be done 
for very small maps that becomes a pessimization as the map grows larger. 
 The data structure that's being used behind the scenes for small maps 
might *happen* to have the property of being sorted, but if so, it is just 
an implementation quirk and you can't rely on that fact in your code. 
 Sorted order is simply not part of the hash-map contract.  The 32 element 
behind-the-scenes limit might change tomorrow, after someone does an 
analysis and determines that really, three different implementations should 
be used, one for up to 16 elements, one for up to 128, and one for more. 
 Who knows? 

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to