This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-02-07
Channels
- # aleph (3)
- # aws (7)
- # beginners (117)
- # boot (119)
- # cider (2)
- # cljs-dev (3)
- # clojure (193)
- # clojure-austin (1)
- # clojure-dusseldorf (4)
- # clojure-finland (5)
- # clojure-france (5)
- # clojure-italy (7)
- # clojure-portugal (1)
- # clojure-russia (204)
- # clojure-serbia (5)
- # clojure-spec (31)
- # clojure-uk (64)
- # clojurescript (288)
- # community-development (9)
- # core-async (54)
- # cursive (8)
- # datascript (18)
- # datomic (26)
- # dirac (8)
- # emacs (26)
- # figwheel (1)
- # hoplon (16)
- # jobs (2)
- # jobs-discuss (4)
- # juxt (1)
- # lein-figwheel (4)
- # leiningen (14)
- # london-clojurians (2)
- # lumo (17)
- # off-topic (44)
- # om (63)
- # om-next (2)
- # onyx (26)
- # perun (14)
- # planck (5)
- # portland-or (34)
- # proton (2)
- # protorepl (8)
- # quil (1)
- # re-frame (6)
- # reagent (16)
- # remote-jobs (4)
- # ring (7)
- # ring-swagger (10)
- # rum (1)
- # untangled (2)
It's an emacs 'swap file' @qqq
@alandipert : thanks! (re swap file)
boot.user=> (start-repl)
java.lang.IllegalStateException: Can't change/establish root binding of: *cljs-repl-env* with set
^^ what am I doing wrong?I'm running into the same error as: https://github.com/cemerick/piggieback/issues/48
Curious what everyone else’s boot time is. When I run:
time boot -h
I get:
boot -h 11.62s user 0.61s system 135% cpu 9.039 total
Is this normal?
I think not - in this video https://youtu.be/TcnzB2tB-8Q?t=5m49s, the command is virtually instantaneous
On my 4 yo laptop it takes like 3-6 seconds
Thanks for the idea, Alan. Unfortunately, I’m seeing similar results:
boot -h 12.82s user 0.93s system 110% cpu 12.452 total
what kind of machine are you on?
I think I’ve seen that with some weirdness related to ipv6 in /etc/hosts ?
Hardware:
Model Name: MacBook Pro
Model Identifier: MacBookPro11,1
Processor Name: Intel Core i5
Processor Speed: 2.4 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache (per Core): 256 KB
L3 Cache: 3 MB
Memory: 8 GB
Software:
System Version: macOS 10.12.2 (16C67)
Kernel Version: Darwin 16.3.0
/etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 localhost mbpro.local
::1 localhost mbpro.local
weird, roughly same vintage as my thinkpad
I’ll have to do some more digging. I’ve always had long startup times with leiningen and boot
thanks in advance for reporting what you find, or adding to wiki
i'm sure whatever you discover is afflicting many other mac users
for anyone else running into the similar error I got -- it was fized by swapping reload /cljs-repl
@chooie, it takes a long time for me as well: boot -h 48.40s user 2.70s system 249% cpu 20.516 total
note that it matters where you run boot
even for -h
, i.e. it reads your build.boot, resolves the deps etc.
in an empty directory (no build.boot) I get boot -h 22.19s user 1.01s system 270% cpu 8.565 total
(also on macOS, mid-2012 macbook air)
is it true that it's much faster on other people's machines? I'd love to see numbers on other systems
ah, adding -B
and -P
brings it down a bit: boot -BPh 12.00s user 0.51s system 304% cpu 4.107 total
I think boot -BPh
is better for comparing numbers
time BOOT_JVM_OPTIONS="" boot -BPh
8.12s user 0.36s system 339% cpu 2.496 total
time BOOT_JVM_OPTIONS="-client -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xmx2g -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Xverify:none" boot -BPh
2.44s user 0.22s system 190% cpu 1.392 total
that bring it down to 2.6 s for me
yours is still twice as fast @pithyless
Has anyone here any experience with running a ring/cljs app with boot-cljs, boot-reload and friends behind a proxy? I am trying to make my app relocatable so that a proxy can serve it to the outside world as (e.g.) /myapp
. Mix in ring contexts, redirect responses, buddy authentication and interactive CLJS development for fun.
adding another datapoint: boot -BPh 8.12s user 0.38s system 379% cpu 2.241 total
on an early 2016 MBP running Sierra
wow. here I was thinking of upgrading to a new MBP!
and it's actually not much faster than my 2012 MBA
you just saved me 2500 bucks
boot startup time is (one of) my main hardware purchase criteria
correcting my earlier statement, this is technically a mid-2015 model, which was bought in early 2016
applying the /etc/hosts
fix that @alandipert linked above didn't appreciably improve my startup time
the JVM options from @pithyless bring my startup time to just over 2 seconds, though
not bad, highscore I guess @ska?
worth noting, limiting tiered compilation makes longer-lived things noticeably slower
seems like a good idea for shebangs tho
@pesterhazy Dell Latitude, dual core w/ hyperthreading (could not get a real quadcore w/o nvidia card sigh), 16GB RAM, SSD fully encrypted... Works pretty well. 😄
ya your choice is much better (and performance too) if you can use Linux
Working in companies since 1999, always on Linux. happy, happy, joy, joy. (OK, a Windows VM comes in handy from time to time)
My results are almost identical to @ska
Hmm, I have tiered compilation enabled, but I often keep apps running for several days
tiered compilation is on by default in java 8, the sticker is XX:TieredStopAtLevel
there is a tower of JIT compilers, C1-C4, restricting to 1 limits optimization potential
> While Leiningen continues to be ubiquitous, boot made significant advances this year, moving from 13% usage to 22% usage.
survey results are out ^ 😉
> there is a big jump in the number of ClojureScript developers using boot (from 15 to 23%).
extrapolating, we can expect 100% boot by 2025 😁
possibly 110% in 2026
Congrats cobblers, 22% is an amazing achievement
I switched to boot a week ago and I'm liking it a lot so far, feels even better than leiningen! Congrats and thank you very much to all the devs!!
i wonder how many use both? i've gone completely over to boot but i'll bet there are a lot of experimenters.
mobileink: I still use Leiningen for FOSS projects that started out that way, but anything new I create using Boot now.
i'm guessing that's pretty common. fortunately for me all my lein stuff is pretty simple. btw your message is shaded yellow, i guess that means you replied to me but did not "also send to boot"? any idea if that makes it private?
Not private, no, just threaded. The yellow shading is most likely because my reply had your username in it.
Sometimes you have to use both, especially if your co-workers use Cursive
i've got some legacy leiningen stuff. after months of boot-only it just confuses me.
@geoffs sounds tough
boot.user=> (doc add-cached-resource)
-------------------------
boot.core/add-cached-resource
([fileset cache-key cache-fn & {:keys [mergers include exclude meta], :as opts}])
Like add-resource, but takes a cache-key (string) and cache-fn instead of
a directory. If the cache-key is not found in Boot's fileset cache then the
cache-fn is invoked with a single argument -- a directory in which to write
the files that Boot should add to the cache -- and the contents of this
directory are then added to the cache. In either case the cached files are
then added to the fileset.
The opts options are the same as those documented for boot.core/add-resource.
here: https://github.com/boot-clj/boot/blob/master/boot/core/src/boot/task/built_in.clj#L673-L675
@micha i see, so its just meant to use as a cache to not add extra things to the fileset?
the files still get added to the same location as if they were called with add-resource
?
it can amortize the work of transforming the set of files into the stuff the fileset needs
how do you interactively develop a custom task? is there some breakpoint functionality that you use? ideally id like to have a repl while the fileset is being transformed
you can also of course make a namespace and do (require 'my-task.namespace :reload)
in the repl
would that let me run one of my tasks? id imagine i’d want a way to interactively play around with the fileset that one of the handlers is processing
yeah running a task against some fileset is something I would be interested in too...there a new-fileset
feature and probably this can be used to get some degree of mocking
@micha do cached resources survive across multiple boot runs? Could cljs take advantage of this feature to not take 5m of the start time?
@richiardiandrea that seems nice! i’ll have to try that
is there a way to set system properties when initializing a pod?
I get a -Dmaven.multiModuleProjectDirectory
in boot-mvn
Ok let me try
ah it looks like the property is there, but does not match the version in the pod
weird, as it is calling org.apache.maven.cli.MavenCli
....anyways thanks for the hint 👍
this is weird:
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08:41:47-08:00)
Maven home: <unknown Maven home>