Are you using whitespace optimization during development? You should really be 
using :none which usually means compilation times in milliseconds.

Do you have any information on the kind of hardware the compile runs on? The 
numbers look horrible. Since you say heroku I imagine a VM in the Cloud which 
usually have very very terrible CPU performance. Do you have numbers from 
actual hardware? (eg. your dev machine)

Other than that it is hard to say more without knowing the project. 259 files, 
38k LOC seems like a lot though and is certainly the largest project I have 
heard of so far.

At 15k LOC my project compiles+optimizes in about 20sec, so 421sec seems really 
high.

Your concerns are valid. Tips for improvements are hard without knowing the 
project, it may just be the hardware but it probably is more than that.

Shameless plug: You could also try shadow-build [1] which can be faster than 
other tools but usually not by _that_ much. I'd be interested on what the 
output of shadow-build looks like though since it provides much more detail.

Cheers,
/thomas

[1] https://github.com/thheller/shadow-build

On Thursday, September 24, 2015 at 10:18:16 AM UTC+2, Yehonathan Sharvit wrote:
> My app is an hybrid app combining angular and om. (old parts of the app in 
> angular, new parts in om)
> 
> 
> 
> 
> 
> My concerns are:
> 1. big app is a symptom of too much complexity
> 2. compilation time on deployment is very long
> 3. compilation time during development is too long
> 
> 
> Any idea how could I improve the situation?
> 
> 
> My app is composed of (not including the dependencies):
> sources: 259 files 38000 lines of code
> 
> 
> Compilation metrics (on heroku)
> whitespace optimization:
> 
> Compile basic sources, elapsed time: 120748.570264 msecs
> 
> Add dependencies, elapsed time: 91876.738647 msecs
> 
> Optimizing 356 sources, elapsed time: 63315.196164 msecs
> 
> Successfully compiled "public/clojurescript/dev/main.js" in 278.23 seconds.
> 
>        
> 
> 
> advanced optimization:
> Compile basic sources, elapsed time: 87952.73688 msecs
> Add dependencies, elapsed time: 81444.699173 msecs
> Applying optimizations :advanced to 353 sources
> 
> Optimizing 357 sources, elapsed time: 251787.456456 msecs
> 
> Successfully compiled "public/clojurescript/prod/main.min.js" in 421.568 
> seconds. 

-- 
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 clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to