Fork me on GitHub
#clojure-uk
<
2017-04-27
>
agile_geek07:04:16

Clojure REPL start up time reared it's ugly head on work Slack yesterday...discuss! http://blog.ndk.io/clojure-bootstrapping.html

glenjamin07:04:35

the clojure repl slow startup is (imo) part of the reason we have such good tooling for making changes to a running process

Rachel Westmacott08:04:34

@glenjamin I can’t decide how to react to that

glenjamin08:04:12

my rough theory is: repl is slow to start, we can’t change that - so a bunch of people spent time making that not be such an issue

Rachel Westmacott08:04:24

I don’t doubt for a moment that it is true

glenjamin08:04:24

and now we have nice things like tools.namespace and figwheel

Rachel Westmacott08:04:47

But it is not a reason for the start up time to remain poor

glenjamin08:04:09

no, the reason for that is that datomic doesn’t reboot very often

glenjamin08:04:54

as in, clojure core only appears to improve according to the needs of cognitect, which are primarily focused on datomic

Rachel Westmacott08:04:21

rcfotd:

-------------------------
clojure.core/partition-all
([n] [n coll] [n step coll])
  Returns a lazy sequence of lists like partition, but may include
  partitions with fewer than n items at the end.  Returns a stateful
  transducer when no collection is provided.

agile_geek08:04:25

@glenjamin slightly cynical but an element of truth in that. More generally, Clojure is targeted at large enterprises and they tend ot have long running server processes?

otfrom08:04:10

the jvm in general is about that (now that applets are dead)

Rachel Westmacott08:04:16

I hear that the clojurescript startup time is not so bad…

Rachel Westmacott08:04:57

@agile_geek “If you’re not cynical, you’re not paying attention.”

agile_geek09:04:39

@peterwestmacott that maybe my moto for life both technical and political atm...altho I still have 'shiny object' syndrome with tech sometimes!

mccraigmccraig09:04:15

@peterwestmacott try out lumo - cljs startup time is superfast

jimmy09:04:44

it's startup time is subsecond

bronsa09:04:01

so is clj's, it's adding dependencies and lein that adds overhead

glenjamin10:04:20

i thought that core itself was a major contributor?

glenjamin10:04:42

oh right, but still just about subsecond

bronsa10:04:53

[~]> time clj < /dev/null
Clojure 1.9.0-master-SNAPSHOT
user=>
rlwrap -b \$BREAK_CHARS -c -i -r java -Dclojure.compiler.direct-linking=true   0.62s user 0.06s system 115% cpu 0.595 total

glenjamin11:04:08

yeah, slow enough to be noticable, but subsecond