This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-08-23
Channels
- # announcements (2)
- # beginners (246)
- # boot-dev (1)
- # braveandtrue (3)
- # calva (13)
- # cider (26)
- # cljs-dev (6)
- # clojure (75)
- # clojure-finland (4)
- # clojure-germany (39)
- # clojure-italy (1)
- # clojure-mexico (1)
- # clojure-nl (14)
- # clojure-spec (61)
- # clojure-uk (104)
- # clojurescript (125)
- # cursive (20)
- # datomic (1)
- # emacs (2)
- # figwheel-main (91)
- # fulcro (29)
- # graphql (9)
- # jobs (3)
- # jobs-discuss (9)
- # juxt (13)
- # liberator (2)
- # luminus (1)
- # off-topic (15)
- # parinfer (8)
- # re-frame (70)
- # reagent (35)
- # reitit (24)
- # remote-jobs (5)
- # ring-swagger (3)
- # shadow-cljs (127)
- # spacemacs (34)
- # yada (6)
The Closure Compiler has an option to set the number of parallel threads the compiler uses (https://github.com/google/closure-compiler/blob/6c1f686b0236dccdf1b99adefd11470ca198c9a2/src/com/google/javascript/jscomp/CompilerOptions.java#L382-L393). This is only available for some passes at the moment. Would it make sense if :parallel-build
is true
, to also set setNumParallelThreads
to a higher value? nCPU + 2 or similar?
It is used to prebuild the AST in a few places: https://github.com/google/closure-compiler/blob/c4237c6ee91146b754fda49235d6589c0fb4516a/src/com/google/javascript/jscomp/Compiler.java#L1760-L1762
I don't have any sense of how cheap/expensive any of these parts are though
@danielcompton I'm pretty sure the optimizations themselves don't use multiple threads. only the initial JS parsing itself. I have that enabled in shadow-cljs but it doesn't make a huge difference overall. maybe a couple ms in my completely unscientific benchmarks.
yeah that was the sense I got too just looking through
With the WIP on https://dev.clojure.org/jira/browse/CLJS-2869, it correctly infers cljs.core/dominates
as returning type boolean
whereas master currently infers it as being #{clj-nil boolean}
. (This could be good for checked-if elision.) 🙂