Hi Patrick !

Can you post some code. here is what I get:
user=> (-> {} transient (assoc! :a 1) (assoc! :b 2) (assoc! :c 3) (assoc! :d
4)
(assoc! :e 5) (assoc! :f 6) (assoc! :g 7) (assoc! :h 8) (assoc! :i 9)
persistent!)
{:a 1, :c 3, :b 2, :f 6, :g 7, :d 4, :e 5, :i 9, :h 8}
user=> (persistent! (reduce #(assoc! %1 (str "k" %2) %2) (transient {})
(range 2
0)))
{"k0" 0, "k1" 1, "k2" 2, "k3" 3, "k4" 4, "k5" 5, "k10" 10, "k6" 6, "k11" 11,
"k7"
 7, "k12" 12, "k8" 8, "k13" 13, "k9" 9, "k14" 14, "k15" 15, "k16" 16, "k17"
17,
 "k18" 18, "k19" 19}

Christophe

On Fri, Aug 7, 2009 at 10:07 AM, Patrick Sullivan <
wizardofwestma...@gmail.com> wrote:

>
> Testing Transient w/Hashmaps (Thanks Cristophe!) and it seems like the
> object won't store more then 8 keys.  At first I thought it was my
> frequency function
> that was rolling it up, but then I simply tried creating a transient
> object and manually assoc! ing a bunch of items into it.  After the
> 8th it seemed to stop taking new
> keys.
>
> Am I doing something silly here or is this a bug?
>
> ~Patrick Sullivan
>
> On Aug 6, 5:53 am, Rich Hickey <richhic...@gmail.com> wrote:
> > On Aug 5, 10:10 pm, Luc Prefontaine <lprefonta...@softaddicts.ca>
> > wrote:
> >
> > > I like this very much... that's the kind of clever optimizations that
> > > preserves Clojure principles and
> > > can yield significant performance increases. This could also help
> > > dealing with performance critics
> > > in these small mutable languages "benchmarks" that newbies attempt to
> > > clone in Clojure.
> >
> > > Thank's Rich !
> >
> > You're welcome!
> >
> > And special thanks to Christophe Grand, who (quickly!) applied the
> > same technique to the hash maps and contributed that yesterday. So
> > now, in the master branch, vectors and hash maps support transients.
> > Everyone please try them out (where appropriate :).
> >
> > Rich
> >
>


-- 
Professional: http://cgrand.net/ (fr)
On Clojure: http://clj-me.blogspot.com/ (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