如何从命令行更快地运行Clojure代码?

时间:2013-11-13 13:55:52

标签: command-line clojure scite

我需要一种更快地运行Clojure代码的方法。我对几乎所有语言都使用SciTE,包括Clojure,这意味着您必须运行Clojure,就像从命令行运行它一样。我创建了一些批处理文件,该文件在点击Clojure时运行<F5>文件:

@java -cp C:\clojure-1.5.1\clojure-1.5.1.jar clojure.main %*

我的主要抱怨是运行Clojure文件需要将近2秒才能运行,这是不可接受的。我希望代码在Clooj中运行(编译速度更快?),同时在另一个选项卡中有pythonLisp文件用于实验和其他东西{ {1}}可以提供 我想知道SciTE如何在不到一秒的时间内运行/评估整个文件,以便我可以在Clooj中重现相同的内容,而不必在两者之间切换例如,测试某些代码是否可以在SciTE中未经修改地运行。如果有一种方法可以从Common Lisp等命令行评估代码,那将是非常棒的。

我的主要目标不是放弃clisp -q -x "(print 'under-a-second)"SciTE - Clojure代码比较)并且仍然能够更快地运行代码(我说的是启动,而不是优化)。

更新:

Clojure编译器可以从命令行评估代码(在jar文件的Lisp中找到它),这样:

main.clj

坏消息是它编译的表达式平均为2秒,就像前一个表达式一样。

3 个答案:

答案 0 :(得分:3)

grenchman,它使用一个常设的clojure进程,然后是一个小的OCaml程序来发送命令并返回结果。

答案 1 :(得分:2)

我自己还没试过,但你应该看看https://github.com/flatland/drip

来自自述文件:

  

Drip使用不同的策略。它通过正确的类路径和其他JVM选项保留了一个新的JVM保留,因此您可以在需要时快速连接和使用它,然后将其丢弃。 Drip散列JVM选项并存储有关如何以散列值作为名称连接到JVM的信息。

答案 2 :(得分:0)

如果您对ClojureScript感到满意,那么lumo是一个很好的选择。