【发布时间】:2012-12-26 11:48:49
【问题描述】:
我有一个 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 卡(最高 30 MB/s 的 SanDisk Extreme)。为什么使用带有 nRepl 的 Leiningen 与启动 JAR 文件之间的差异如此之大?使用 Leiningen 为 Raspberry Pi 缩短启动时间可以做些什么?
【问题讨论】:
-
lein repl检查依赖关系,构建项目并准备自动完成和其他类似的恶作剧。你可以尝试做一些聪明的事情,比如让一个加载了 Clojure 的 JVM 来运行 leiningen,但我不确定这实际上会减少多少启动时间。我想理想情况下,您应该尽量不要经常运行lein repl。 -
是的,我也是这么想的。我在 Clojure 邮件列表上看到过类似的讨论,但在台式 PC 或笔记本电脑上,减速并不像在 Raspberry Pi 上那么糟糕。 Common Lisp REPL 在 1 秒内启动,Java 和类路径扫描的性能开销相当大。不确定 Clojure 是否适合嵌入式设备的开发平台。
-
raju-bitter,我很好奇你在 Pi 中使用了什么 Common-Lisp 实现......
-
GNU CLISP 2.49 (2010-07-07),它位于 Wheezy 的存储库中。刚刚做了一个
sudo apt-get install clisp。
标签: clojure leiningen raspberry-pi