Re: data structure creation time in cljs

2013-11-06 Thread David Nolen
`vector` is now inlined in master, should be >10X faster for (vector 1) David On Tue, Nov 5, 2013 at 10:38 PM, kovas boguta wrote: > I'm trying to optimize zippers for clojurescript. My benchmark is > implementing the combinator systems from > > https://www.wolframscience.com/nksonline/page-102

Re: data structure creation time in cljs

2013-11-06 Thread David Nolen
Yes Closure is smart enough to remove code that doesn't do anything. Try with :simple and :static-fns true On Wednesday, November 6, 2013, kovas boguta wrote: > On Wed, Nov 6, 2013 at 7:36 PM, kovas boguta > > > wrote: > > > There also seems to be some issue with laziness, where some of my big >

Re: data structure creation time in cljs

2013-11-06 Thread kovas boguta
On Wed, Nov 6, 2013 at 7:36 PM, kovas boguta wrote: > There also seems to be some issue with laziness, where some of my big > list operations are getting a 0 as well. Alright I managed to figure out my laziness issue, but the thing with records is still a head-scratcher... -- -- You received

Re: data structure creation time in cljs

2013-11-06 Thread kovas boguta
Some good news and some puzzling news. With advanced mode, the various forms of non-literal vector creation clock in around 400msec for 1 million ops on node, which is a 2-to-5x improvement. Now, the puzzling bit: Using time, I get a big fat 0 for certain kinds of operations: (time (dotimes [x

Re: data structure creation time in cljs

2013-11-06 Thread Jozef Wagner
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

Re: data structure creation time in cljs

2013-11-05 Thread David Nolen
Yes no benchmarking with anything other than advanced please - lots of optimizations kick in only for :advanced, especially around various forms of function invocation, :simple + :static-fns true will also give reasonable results however it'll mess with REPL interactivity. David On Tue, Nov 5, 2

Re: data structure creation time in cljs

2013-11-05 Thread kovas boguta
On Tue, Nov 5, 2013 at 11:05 PM, David Nolen wrote: > Also what optimization settings are you using? I guess I should try something other than the browser repl. Will retry with advanced optimizations. -- -- You received this message because you are subscribed to the Google Groups "Clojure" gr

Re: data structure creation time in cljs

2013-11-05 Thread David Nolen
This is really cool, would love to have something like this combined with graphs like the old ClojureScript benchmarks where we tracked based on git commit for the major JS engines. David On Tue, Nov 5, 2013 at 11:04 PM, kovas boguta wrote: > FYI, > > http://wagjo.github.io/benchmark-cljs/ > >

Re: data structure creation time in cljs

2013-11-05 Thread David Nolen
If anything is an order of magnitude slower than Clojure it should be considered a bug and be filed as such. We're shooting for w/in 2.5X for all operations. `vector` is slow and can easily be dramatically improved. I suspect there's something up with record creation and it should be looked into.

Re: data structure creation time in cljs

2013-11-05 Thread kovas boguta
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 wrote: > I'm trying to optimize zippers for clojurescript. My benchmark is > implementing the combina

data structure creation time in cljs

2013-11-05 Thread kovas boguta
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