Fork me on GitHub
#clojure
<
2015-06-14
>
borkdude12:06:35

what are the gains of moving JDK 1.7 -> 1.8 for Clojure applications? anything worth noting?

borkdude13:06:46

Nashorn is nice of course for javascript pre-rendering

robert-stuttaford13:06:20

security and performance improvements. no more permgen space, so it’s easier to manage overall

rauh13:06:56

Is there a trick to prevent an accidental lein deploy clojars to succeed? I was accidentally in the wrong directory and pushed a (private) project

tcrayford13:06:37

@borkdude: also java 1.7 is EOL, so there are no more security patches

rauh13:06:52

nvm, found :deploy-branches ["non-existing-branch-ha!"]

tcrayford13:06:36

@borkdude: one huge perf benefit is that (as I understand it), the G1 GC got a lot better in java 8. Matters a whole bunch if you have a system that aims for low latency

jrychter14:06:01

@tcrayford: really? Have you seen improvements? I've recently benchmarked my workload (8-12GB heaps) and saw minor differences between 6 (CMS), 7 (CMS and G1) and 8 (G1). There were improvements, but small, on the order of 10%. And I still get 10s pauses for unknown reasons sometimes, that I cannot hunt down.

tcrayford14:06:40

@jrychter: not personally, but folk I know have hard far improved luck with G1 under jdk8 vs 7

tcrayford14:06:28

under java 7 G1 really tanked their throughput in a way that was unacceptable (but did improve latency), but under java 8 the cpu impact isn't as high for their workloads

colin.yates16:06:57

@rauh You could always define a project alias to the deploy and only define that alias in the relevant projects... not sure what proportion are private?

rauh16:06:58

@colin.yates: Yeah you're right. I should probably do that more explicitly and instead of an explicit opt-out.

simonkatz20:06:13

I'm playing with humane-test-output (https://github.com/pjstadig/humane-test-output). The documentation says "This test output formatting works great with Emacs and when running Leiningen in a console." It works for me from a console but from Emacs (using cider-test-run-test) I still get the normal clojure.test output. Does "works great with Emacs" mean something different to "works with cider-test-run-test"?

sveri20:06:21

@borkdude: I like the MVC approach, so I usually have three packages: db, routes and service. Additionally I throw in other domain related packages, if I feel the need for them and if a single service namespace is not enough. That's it for the backend for me and it served me well through my years of PHP, Java and clojure

borkdude20:06:47

@sveri: db = model, routes = controller, ...?

sveri20:06:28

@borkdude: exactly, I go with compojure, so every ns has it's route definitions + the render functions

ppold22:06:53

Does anyone have any problems with the latest version of lein-ring (0.9.5)? Even with a fresh compojure template it throws java.lang.RuntimeException: Unreadable form.