使用Leiningen在Raspberry Pi上改善Clojure REPL的启动时间

时间:2012-12-26 11:48:49

标签: clojure leiningen raspberry-pi

我有一个Rasperry Pi 512 MB版本(2012年末)并在其上安装了Developer Preview of Java SE 8 for ARM。当我用Leiningen创建一个新的Clojure项目并通过lein repl启动nREPL时,它需要花费两分多于两分钟(大约130-140秒),直到REPL被初始化并且可以使用。

直接启动JAR文件java -jar clojure-1.4.0/clojure-1.4.0时,REPL将在25秒内启动。

我正在使用快速10级SD卡(SanDisk Extreme,最高30 MB / s)。为什么使用Leiningen和nRepl与启动JAR文件之间的区别是如此之大?如何通过Leiningen为Raspberry Pi改善启动时间?

4 个答案:

答案 0 :(得分:2)

同时尝试grenchman:通过nREPL快速调用Clojure代码。

答案 1 :(得分:1)

您可以尝试drip包装java命令并准备一个在后台等待的新jvm。

答案 2 :(得分:1)

一般来说,clojure的缓慢启动似乎是核心的加载以及此处讨论的各种其他事情:

http://blog.ndk.io/solving-clojure-boot-time.html

答案 3 :(得分:0)

实际上Leiningen从它自己的JVM开始,然后将项目的vm嵌入其中。
然后它检查deps,找出变化等等。

你可以避免使用lein的trampoline任务进行vm嵌套,如下所示:
lein trampoline repl

但是这个命令要求在项目目录中调用lein