I've just updated benchmark dependencies to reflect latest changes in 
ClojureScript. Keywords are little slower than before but otherwise there 
are no big differences.

JW

On Wednesday, November 6, 2013 5:04:26 AM UTC+1, kovasb wrote:
>
> FYI, 
>
> http://wagjo.github.io/benchmark-cljs/ 
>
> has some interesting cljs perf comparisons for various datastructures, 
> for those who haven't seen it. 
>
>
>
> On Tue, Nov 5, 2013 at 10:38 PM, kovas boguta 
> <kovas....@gmail.com<javascript:>> 
> wrote: 
> > I'm trying to optimize zippers for clojurescript. My benchmark is 
> > implementing the combinator systems from 
> > 
> > https://www.wolframscience.com/nksonline/page-102 
> > 
> > which heavily stress both navigating and modifying the tree. 
> > 
> > A major hotspot seems to be data structure creation time, which can be 
> > between 10 and 200x slower than jvm. I'm using Chrome 30.0.1599.101 . 
> > 
> > Vectors: 
> > (time (dotimes [x 1000000]  ( vector x))) 
> > cljs: 2175 msecs 
> > clj: 11.414 msecs 
> > 
> > strangely, apply is faster for cljs : 
> > (time (dotimes [x 1000000]  (apply vector [x]))) 
> > cljs: 1175 msecs 
> > clj: 64.919 msecs 
> > 
> > into gives about the same result for cljs. 
> > 
> > Creating a datastructure literal (eg [x]) is about 5x slower in cljs 
> > over clj, which I would take, however in the zipper case the number of 
> > children can vary dynamically. 
> > 
> > Lists: 
> > (apply list [x]) is about 2x faster than the vector case in cljs, and 
> > within about 5x of the jvm speed. Unless there is a better idea, I may 
> > try a specialized list-oriented zipper and see how it performs. 
> > 
> > Records: 
> > Creation is about ~10x slower than in clj. What's weird is that 
> > creating hashmaps is actually marginally faster than creating records 
> > (however, records still have much faster field access, so I'm using a 
> > record-based zipper implementation) 
> > 
> > (defrecord Test [a]) 
> > (time (dotimes [x 1000000] (Test. x))) 
> > cljs: 60 msecs 
> > clj: 7.00 msecs 
> > 
> > Is there a trick to speed up vector and/or record creation? Should I 
> > look into a custom datastructure? 
> > 
> > Any ideas welcome. 
> > 
> > Thanks! 
>

-- 
-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to