Fork me on GitHub

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


Nashorn is nice of course for javascript pre-rendering


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


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


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


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


@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


@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.


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


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


@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?


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


I'm playing with 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"?


@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


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


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


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.