librelist archives

« back to archive

ANN Drip: A fast JVM launcher

ANN Drip: A fast JVM launcher

From:
Justin Balthrop
Date:
2012-09-10 @ 16:31
Drip is a drop in replacement for the 'java' command that provides faster 
startup times. It does this by keeping a fresh JVM spun up in reserve with
the correct classpath and other JVM options so you can quickly connect and
use it when needed, then throw it away.

Drip works with Clojure and Leiningen. Drip also works with other JVM 
languages like Scala and JRuby.

It's easy to install. Just follow the instructions here:

https://github.com/flatland/drip

There are also some speed comparisons on the wiki:

https://github.com/flatland/drip/wiki

Once you've installed drip, setting up Leiningen to use it just requires 
adding the following to ~/.lein/leinrc:

LEIN_JAVA_CMD=${LEIN_JAVA_CMD-drip}

As some of you know, I implemented the persistent JVM in Cake. Compared to
that, Drip is not quite as fast, but way less of a headache to use. It 
strikes a way better balance between fast and correct. You don't have to 
worry about running 'cake kill' when the state of your persistent JVM gets
corrupt.

Let us know in #flatland or #leiningen on IRC how it works for you once 
you try it!

- Justin

ANN Drip: A fast JVM launcher

From:
Justin Balthrop
Date:
2012-09-10 @ 17:07
Drip is a drop in replacement for the 'java' command that provides faster 
startup times. It does this by keeping a fresh JVM spun up in reserve with
the correct classpath and other JVM options so you can quickly connect and
use it when needed, then throw it away.

Drip works with Clojure and Leiningen. Drip also works with other JVM 
languages like Scala and JRuby.

It's easy to install. Just follow the instructions here:

https://github.com/flatland/drip

There are also some speed comparisons on the wiki:

https://github.com/flatland/drip/wiki

Once you've installed drip, setting up Leiningen to use it just requires 
adding the following to ~/.lein/leinrc:

LEIN_JAVA_CMD=${LEIN_JAVA_CMD-drip}

As some of you know, I implemented the persistent JVM in Cake. Compared to
that, Drip is not quite as fast, but way less of a headache to use. It 
strikes a way better balance between fast and correct. You don't have to 
worry about running 'cake kill' when the state of your persistent JVM gets
corrupt.

Let us know in #flatland or #leiningen on IRC how it works for you once 
you try it!

- Justin