11

ときどきシェルスクリプトclojureに使えたらいいなと思いますが、起動時間が900ms程度では遅すぎます。次に、「 nailgun clojure」のスタートページをグーグルで検索しますが、表示される結果は、vimclojure のような特殊なケースのみです。そんな時、私は時間がないふりをして、より速く起動するウォード言語に目を向けます。awk

では、どうすれnailgunば clojure の起動時間を短縮できるのでしょうか?

4

1 に答える 1

22

デビアン

次の操作を 1 回実行します。

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

私の場合、実際のスクリプトの起動時間は、nailgun を使用しない場合の 900 ミリ秒と比較して、80 ミリ秒に短縮されました。

実際のスクリプトをより便利に実行するには、次の行を含む実行可能ファイルを作成ng-clojureし、パスのどこかに配置します。

ng-nailgun clojure.main "$@"

clojure shell scriptで、これを最初の行として追加します。

#!/usr/bin/env ng-clojure

次に、clojure シェル スクリプトを実行可能にして、次のように実行します。

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 

次に、上記のようにスクリプトを実行します。

更新: しばらく使ってみたところ、問題なく動作しているようには見えません。ときどき、nailgun なしで実行しているときには発生しないランダムなエラーが発生することがあります。また、ときどき、nailgun JVM が時間の経過とともにすべてのメモリを消費し、最終的にシステムをディスクにスワップさせるメモリ リークがあるようです。これはまだメモリ プロファイリングされていませんが、このヘッズアップを追加したいと考えていました。

于 2013-10-01T03:57:07.067 に答える