Every now and then I think it would be nice to use clojure
for shell scripts, but a startup time of about 900ms is way too slow. I'd then googlestartpage for "nailgun clojure", but the only results that show up are for special cases like vimclojure. That's when I, pretending not to have time, turn to more awk
ward languages that start up faster.
So, how can nailgun
be used to speed up the startup time of clojure?
Debian
Do the following once:
Now that the server is running and configured, you can run your clojure scripts on it:
In my case, startup time of the actual script went down to 80ms, compared to 900ms without nailgun.
To make running the actual script more convenient, create an executable file
ng-clojure
containing the following line, and put it somewhere in your path:In your clojure shell script, add this as the first line:
Then make the clojure shell script executable and run it like
OSX
Then execute your script as above.
Update: Having used it for a while, it doesn't seem to work flawlessly. Sometimes I'm getting random errors that don't occur when running without nailgun, and sometimes there seems to be a memory leak that makes the nailgun JVM consume all memory over time, eventually making the system swap to disk. Haven't memory profiled this yet, but wanted to add this heads-up.