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.
