2013-05-14 8 views
6

以前はritz-nreplを使用していなかったので、nreplは10秒かかりました。nrepl(ritz-repl)の起動時間を短縮する方法はありますか?

私がritz-replを試してみると、ブートに30秒近くかかっていて、約1.3Gのメモリを消費していました。 これは私がそれを使用することを嫌う。

ubuntu + ssdを使用している人には "ほとんどの場合、lein repl startup timeに気付いた"と言われたので、スピードを上げることを望んでSSDを投げた。しかし、私はssdとhddの違いを自分に伝えることはできません。私は何かが間違っているのか、それとも単なる神話なのか分かりません。

+1

重い可変イントロスペクションが必要な場合にのみ起動します。残りの時間は、通常のnreplを使用します。私の経験からすれば、リッツ・ノルプルは成熟していないということです。私はFedora + SSDを使用しています。それはまさにそれです.30秒はまったく普通です。また、私は自動補完(ac-nrepl)をグローバルに非アクティブ化する必要があるため(emacsがフリーズするため)、開発ワークフローのほとんどの時間にとって魅力的ではありません。 –

+0

情報ありがとう!ところで、あなたの生のnrepl起動時間は分かりますか?私は依存関係のない6人と15人前後の7人を持っています。 – LoveProgramming

+0

はい私はそれを測定しませんでしたが、これはそれについてです。 ほとんどの開発では、私は通常このマクロを使ってreplのイントロスペクションを取得しています:(# )) –

答えて

1

ritzを含むnreplサーバーの起動時間を短縮する方法があるかもしれませんが、ほとんどの場合、マシン上のjvmを起動するのに少なくとも10秒かかることがあります。私にとっては、インタラクティブな開発をする際に受け入れることができないほどの遅れです。

代わりにthe clojure.tools.namespace libraryを使用してスマートなコードリロード手法を使用することもできます。基本的には依存関係グラフをメモリに保持し、最後にリフレッシュしてから変更された名前空間だけをリロードします。

これは、Clojureコードの一部ではなく、すべてのClojureコードでそのまま使用できます。回避するエッジケースの詳細については、the 'Preparing Your Application' section of the readmeを参照してください。

希望すると便利です。

関連する問題