Hi Mike,
 I didn't necessarily mean that core.async is slow in my last comment, but more 
that macro evaluation can be slow. The clojurescript macro file in question is 
here:

https://github.com/zubairq/BlocklyBuilder/blob/master/src/webapp/framework/client/macros.cljs

It seems to take at least 5 seconds to compile in bootstrapped clojurescript. 
So are you saying that I can precompile and cache this file so that the browser 
never has to compile it?
thanks
Zubair


On Tuesday, July 5, 2016 at 9:11:49 PM UTC+2, Mike Fikes wrote:
> > i know I have been pushing for core.async to be pushed into master but I 
> > have since changed my mind as i have seen that running macros in 
> > bootstrapped clojurescript is very slow
> 
> Hey Zubair, 
> 
> For a library of the size of `core.async`, I’d recommend making use of 
> bootstrapped ClojureScript’s ability to cache the results of compilation. You 
> can at least eliminate 95% of the start up time (with Andare). Here is an 
> example (where the -K option to Planck enables caching):
> 
> $ time planck -Kc andare-0.2.0.jar -e"(require 'cljs.core.async)" 
> -e"(require-macros 'cljs.core.async.macros)" -e"(cljs.core.async.macros/go)"
> #object[cljs.core.async.impl.channels.ManyToManyChannel]
> 
> real  0m27.401s
> user  0m36.093s
> sys   0m0.940s
> 
> $ time planck -Kc andare-0.2.0.jar -e"(require 'cljs.core.async)" 
> -e"(require-macros 'cljs.core.async.macros)" -e"(cljs.core.async.macros/go)"
> #object[cljs.core.async.impl.channels.ManyToManyChannel]
> 
> real  0m1.505s
> user  0m2.658s
> sys   0m0.357s
> 
> - Mike

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/clojurescript.

Reply via email to