Fork me on GitHub
#cljs-dev
<
2017-01-20
>
dnolen20:01:11

hrm turns out we were still doing a lot of unnecessary analysis

dnolen20:01:34

at least on this simple project I have over here it means ~3X faster compile times for cold build

dnolen20:01:55

mostly because we no longer analyze ClojureScript files in JARs we look at the cache analysis

dnolen20:01:04

also there was a bug where core.cljs was getting analyzed unnecessarily

dnolen20:01:05

about to push

dnolen20:01:10

would like to see people test master

jr20:01:27

I noticed that core.cljs analyzer bug today when hacking the compiler for dependency stats to graph

dnolen20:01:53

pushed please test master if you are able

jr20:01:58

1.9.293
Compile sources, elapsed time: 59873.374855 msecs
1.9.331 (master)
Compile sources, elapsed time: 67232.714985 msecs

dnolen20:01:27

@jr full compile times aren’t going to change

dnolen20:01:36

only dev compile times

dnolen20:01:14

@jr but also interested in the fact that nothing broke 🙂

jr21:01:24

not sure how interested you are in those results since I'm using boot to rebuild the cljs instead of invoking the build api manually

dnolen21:01:10

@jr I don’t think those numbers are showing much

jr21:01:46

yeah I need to enable verbose and see which files are getting re-analyzed

jr21:01:59

the numbers from top to bottom are consecutive rebuilds of the same file

dnolen21:01:35

@jr it just doesn’t seem related to what my latest pushes are about though

dnolen21:01:00

I only want info about whether analysis is avoided

dnolen21:01:30

this may or may not translate to faster cold builds that already have analysis caches written to :output-dir

dnolen21:01:04

in the project that I was currently working on it did make a huge difference - but I was only interested in cold build with caches - not recompile times or anything like that

dnolen23:01:10

So the next step in JS module processing landed in master \cc @bhauman @juhoteperi @anmonteiro

dnolen23:01:39

basically you can now specify a directory instead of just single file as a :foreign-libs entry

dnolen23:01:02

all files found therein will be expanded with the same module settings and processing options

dnolen23:01:27

consider it somewhat experimental for now

dnolen23:01:49

I don’t want to say it’s done until the Closure Node module stuff lands which is imminent