Reporting build-times changes, in a ~15loc CLJ/CLJS/CLC project, on a 8-cores CPU machine, with :parallel-build always true and timings as reported by :compiler-stats true, using boot-cljs. I've run each build at least twice to check for variations.
With CLJS 1.10.339 - :optimizations :none Compile sources, elapsed time: 11628.251228 msecs Compile sources, elapsed time: 1865.551867 msecs => Total: ~13.5 secs (13493.803095 msecs) - :optimizations :advanced Compile sources, elapsed time: 13882.684487 msecs Compile sources, elapsed time: 22.481435 msecs Optimizing with Google Closure Compiler, elapsed time: 15468.294224 msecs Optimizing 265 sources, elapsed time: 15892.028818 msecs => Total: ~45 secs (45265.488964 msecs) With CLJS 1.10.439 - :optimizations :none Compile sources, elapsed time: 11551.295873 msecs Compile sources, elapsed time: 1337.826701 msecs => Total: ~12.8 secs (12889.122573999999 msecs) - :optimizations :advanced Compile sources, elapsed time: 12874.073566 msecs Compile sources, elapsed time: 23.319803 msecs Optimizing with Google Closure Compiler, elapsed time: 16746.485323 msecs Optimizing 265 sources, elapsed time: 17214.70572 msecs => Total: ~46.8 secs (46858.584412 msecs) No significant changes in compilation times, but it may be due to boot/boot-cljs overhead, no idea. This is completely unscientific, as it may not make use of the some things enabled only when using cljs.main. I've also received a warning for a :private-var-access in one of my dependencies, will open an issue there. End of report. And big thanks to all contributors! On Monday, November 5, 2018 at 7:34:18 PM UTC+1, David Nolen wrote: > > ClojureScript, the Clojure compiler that emits JavaScript source code. > > README and source code: https://github.com/clojure/clojurescript > > Leiningen dependency information: > > [org.clojure/clojurescript "1.10.439"] > > Please refer the announce post for the details: > https://clojurescript.org/news/2018-11-02-release > > As always, feedback welcome! > > ## 1.10.439 > > ### Changes > * CLJS-2904: Default :npm-deps to false > * CLJS-2878: Update Closure Compiler to v20180805 > * CLJS-2827: Avoid var special in core macros for private var access > * CLJS-2819: Warn on non-dynamic earmuffed vars > * CLJS-2806: Bump test.check to 0.10.0-alpha3 > * CLJS-2815: Support string keys in :global-exports > * CLJS-2812: Support for overriding object printing > * CLJS-2805: Bump tools.reader to 1.3.0 > * CLJS-1702: Warning when using private vars > * Align ClojureScript AST to tools.analyzer > > ### Enhancements > * CLJS-2903: Support fingerprinting > * CLJS-2897: cljs.main: Display initial REPL prompt sooner > * CLJS-2884: Support for GraalJS RC6 > * CLJS-2859: Graal.JS: Enable high-res timers by default, allow > user-configuration > * CLJS-2831: Add a graaljs REPL environment > * CLJS-1997: Outward function type hint propagation > * CLJS-844: Optimize js->clj by switching to transients > * CLJS-2442: `set` and `vec` performance enhancements > > ### Fixes > * CLJS-2953: stest/with-instrument-disabled prints warning of private use > * CLJS-2728: Ability to disable macro spec checks > * CLJS-2843: s/explain of evaluated predicate yields :s/unknown > * CLJS-2951: Add a spec generator for some? > * CLJS-2940: Can't define nilable spec on undefined pred > * CLJS-2948: Stack overflow calling instrumented variadic fn with zero args > * CLJS-2793: Instrumenting breaks function with varargs > * CLJS-2934: Enhanced delay printing > * CLJS-2864: Optimize str macro for single arity case > * CLJS-1297: defrecord does not emit IKVReduce protocol > * CLJS-2937: docstring for to-array > * CLJS-2943: Update merge-with to use key / val > * CLJS-2941: seqable? should return true for nil > * CLJS-2915: Tests fail if directory has a period (.) in the path > * CLJS-2782: lein test fails if directory has hyphens > * CLJS-2911: Avoid infinite loop on infinite partitions > * CLJS-2906: cljs.main: Crash when with default REPL > * CLJS-2883: Instrumentation fails compilation with a large number of > spec'd functions > * CLJS-2896: Allow parallel analysis and compilation > * CLJS-2893: seq: use .-length instead of alength for strings > * CLJS-2890: fspec role in problem path is not useful > * CLJS-2887: Improve names in core macro specs > * CLJS-2891: stop including data in ex-info message > * CLJS-2888: Printing of spec problems buries the failing predicate which > should be more prominent > * CLJS-2861: Self-host: :checked-arrays not working > * CLJS-2852: Clojure imparity: ns-publics returns different arglists for > macros > * CLJS-2725: Doc on spec keywords > * CLJS-2665: Port clojure.spec.test.alpha/enumerate-namespace > * CLJS-2848: Default explain printer prints root val and spec > * CLJS-2846: [spec] s/tuple explain-data :pred problem > * CLJS-2847: s/coll-of and s/every gen is very slow if :kind specified > without :into > * CLJS-2841: [spec] instrument exception doesn't contain function name in > ex-data > * CLJS-2842: [spec] Clarify s/every docstring for :kind > * CLJS-2845: [spec] generate random subsets of or'd required keys in map > specs > * CLJS-2844: [spec] Add support for undefining a spec > * CLJS-2840: [spec] s/keys explain-data :pred problem > * CLJS-2839: [spec] s/& explain-data :pred problem > * CLJS-2838: [spec] s/& does not check preds if regex matches empty > collection > * CLJS-2837: [spec] `cat` specs should verify value is sequential > * CLJS-2541: binding not made in parallel > * CLJS-2832: Bad code gen for `((not empty?) "foo")` when compiled with no > optimizations > * CLJS-2855: Browser REPL prints empty string after require > * CLJS-2821: Update doto docstring to not use Java example > * CLJS-2817: Suppress private var warnings for specs on private vars > * CLJS-2822: cljs.core.specs.alpha: Map bindings should be `:kind map?` > * CLJS-2829: Fix deep object property access for :global-exports > * CLJS-2816: Skip non-string package.json browser entry values > * CLJS-2814: Fix munge-node-lib/global-export on self-host > * CLJS-2811: cljs-1537-circular-deps fail on Windows > * CLJS-2807: Macroexpand failure with set literal > * CLJS-2799: Handle nth on seqables with negative indexes > * CLJS-2798: ChunkCons -next doesn't handle nil more > * CLJS-2589: allow / as a protocol method name in cljs > > -- 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 https://groups.google.com/group/clojurescript.