Debian
执行以下操作一次:
apt-get install nailgun # install nailgun
java -server -jar /usr/share/java/nailgun.jar& # run nailgun server
ng-nailgun ng-cp /usr/share/java/clojure-1.4.jar # add clj to classpath
现在服务器已运行并配置完毕,您可以在其上运行 clojure 脚本:
ng-nailgun clojure.main path/to/myscript.clj
在我的例子中,实际脚本的启动时间下降到 80 毫秒,而没有钉枪时为 900 毫秒。
To 使运行实际脚本更加方便,创建一个可执行文件ng-clojure
包含以下行,并将其放在路径中的某个位置:
ng-nailgun clojure.main "$@"
In your Clojure shell 脚本,将其添加为第一行:
#!/usr/bin/env ng-clojure
然后使 clojure shell 脚本可执行并像这样运行它
path/to/myscript.clj
OSX
brew install nailgun
ng-server
ng ng-cp ~/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar
然后按照上面的方法执行您的脚本。
Update: 使用了一段时间,感觉效果不是很好。有时我得到随机误差没有钉枪跑步时不会发生这种情况,有时似乎会出现内存泄漏这使得钉枪 JVM 随着时间的推移消耗所有内存,最终使系统交换到磁盘。还没有记忆分析这一点,但想添加这个注意事项。