Hi Adam,

This is really interesting, thanks - at some point soon I'm going to be
doing some performance work on Cursive, a large part of which is going to
be trying to stop namespaces being loaded before they're required. This
will be very useful - I'll steal your patch to log namespace loading, for a
start. Very interesting proposal to separate macros out in Clojure too.

Thanks,
Colin

On 29 January 2015 at 05:41, Adam Clements <adam.cleme...@gmail.com> wrote:

> I'm currently using the fastload branch against alpha5, and it's pretty
> good. You have to be careful though with namespace declarations as you may
> end up loading more than you need to. I'm currently in the process of
> breaking my app down into "runlevels", where it loads the minimum needed to
> get started and then once that's all done and the app is responsive it
> starts loading the namespaces that might not be needed for a little while.
> I got a large chunk of my start up time back by avoiding loading all of
> tools.analyser for core.async (see my blog post on the subject here
> <http://adamclements.github.io/articles/core-async-runtime-dependencies/>
> ).
>
> I think by doing this and being careful what you load (my build of clojure
> has logging turned on for when it loads/compiles individual namespaces and
> how long it takes repo here <https://github.com/AdamClements/clojure>),
> it should be possible to get something up and running pretty quickly.
>
>
> On Wed Jan 28 2015 at 16:34:52 Ashton Kemerling <ashtonkemerl...@gmail.com>
> wrote:
>
>> A lot of the slowness in Clojure comes down to how slow it is to load the
>> main namespaces that are needed, especially clojure.core (see this post
>> <http://nicholaskariniemi.github.io/2014/02/25/clojure-bootstrapping.html>
>> ).
>>
>> You should also look into the Clojure fastload branch, which apparently
>> helped out a few Android programmers according to the clojure-android
>> google list.
>>
>> On Friday, November 21, 2014 at 2:48:20 PM UTC-7, Alan Moore wrote:
>>>
>>>
>>> On Friday, November 21, 2014 9:50:58 AM UTC-8, Uday Verma wrote:
>>>>
>>>> Hello Everyone,
>>>>
>>>> Basically the approach is this: cljs -> js -> rhino [3] -> bytecode.
>>>> Provides java interop through rhino.  By the time things get to rhino,
>>>> google closure has already thrown away most of the runtime away since we
>>>> didn't use it, and we end up with manageable amount of JS which is compiled
>>>> to manageable amount of byte code.   All of jvm is still available.
>>>>
>>>
>>> Sounds like the clojure compiler could benefit from dead code
>>> elimination. I'm not sure if that is possible or not but it does sound like
>>> it might work. Compiles would probably take longer so the gains might be
>>> offset by longer compile times. If this is the case then it wouldn't help
>>> development workflows but could provide deployment/runtime gains.
>>>
>>> I'm wondering if the availability of eval in clojure and the lack of it
>>> in clojurescript makes a difference - it might lead to some code that can't
>>> be properly analyzed.
>>>
>>> Alan
>>>
>>>  --
>> 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/d/optout.
>>
>  --
> 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/d/optout.
>

-- 
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/d/optout.

Reply via email to