Hey, Sean -- that's the alternative that I've been using for performance
reasons.  Unfortunately, I can't put it in a ref (well, I suppose I could
but the behavior is unspecified and definitely not good).

It'd be useful to have both the concurrency benefits of the
immutable/persistent PersistentTreeMap and the performance of fully
logarithmic range queries.



On Mon, Feb 15, 2010 at 11:35 PM, Sean Devlin <francoisdev...@gmail.com>wrote:

> If you are running Java 6 you could always use
> java.util.NavigatibleMap/Set.  However, this is a workaround, and it
> would be great to see Clojure support these log(N) operations
> directly.
>
> On Feb 15, 8:45 am, "George ." <clojuri...@gmail.com> wrote:
> > Currently, if you want to perform a range query on a sorted-seq (AKA
> > PersistentTreeMap), you are are advised to use the subseq wrapper for
> > seqFrom.
> >
> > For instance, let's say your  keys are dollar values you could do (subseq
> > my-map > 30) to get all entries with keys greater than 30 or (subseq
> my-map> 30 < 100) to get all entries with keys that range between 30 and 11.
>  The
> >
> > former case is O(logN) as it is entirely delegated to the logarithmic
> > seqFrom method.  However, the latter example has worst case O(N) behavior
> > since subseq is doing a take-while after .seqFrom.
> >
> > Is there any plan to support upper bounds directly within seqFrom in
> order
> > to make the worst-case behavior logarithmic all around?
> >
> > If not, would such a patch even be considered or is the simplicity of
> > implementation an overriding factor?
> >
> > George
>
> --
> 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<clojure%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

-- 
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