3

clojurescriptを試していますが、非常に単純なclojurescriptソースファイルをjsにコンパイルするのに長い時間がかかることがわかりました。信じられない。

time cljsc hello.cljs '{:optimizations :advanced}' > hello.js

real    1m27.324s
user    1m2.412s
sys     0m0.676s

スニペットは、Clojurescriptのgithubクイックスタートページからのものです。

(ns hello)
(defn ^:export greet [n]
  (str "Hello " n))

オプションを省略して:optimizationsも、まだ長い時間がかかることがわかります。

time cljsc hello.cljs > hello.js

real    0m10.867s
user    0m22.301s
sys 0m0.412s

それは正常ですか?または、どうすればそれをスピードアップできますか?

4

2 に答える 2

1

cljscを呼び出すことにより、コンパイルするたびにJVMを起動します。これには、大量のコードをロードしてから、実際のコンパイルを実行する必要があります。JVMの起動時間だけでも苦痛です。

一般的なワークフローは、cljscを使用しないことですが、JVMを開いたままにして、毎回コンパイルします。これを行う一般的な方法は、lein-cljsbuildを使用することです。これは私が強くお勧めします。

于 2012-10-20T07:49:48.717 に答える
0

コンパイルに10秒かかることは、私にはまったく気が狂っているようには思えません。標準のcljsライブラリをすべてjavascriptと簡単なプログラムにコンパイルする必要があるからです。高度な最適化に関しては、それはおそらく何かをするのにかかる時間です。cljs.core javascriptの数千行を読み取り、最適化します。おそらく、cljs.coreによって使用される(私が思うに)googleクロージャーライブラリもあります。

于 2012-10-20T21:04:36.930 に答える