我以前没有使用过ritz-nrepl,而nrepl花了大约10秒的时间,这很长但是仍然可以忍受,因为我不经常重启它.
当我尝试使用ritz-repl时,启动需要将近30秒,耗费大约1.3G内存.这让我不愿意使用它.
我甚至投入了SSD希望它可以提高速度,因为我听到有人提到他"几乎没有注意到使用ubuntu + ssd的lein repl启动时间".但我无法区分ssd和hdd之间的区别.我不知道我做错了什么或者它只是一个神话.
可能有多种方法可以减少包含 ritz 的 nrepl 服务器的启动时间,但在大多数情况下,您将被困在机器上启动 jvm 所需的至少 10 秒内。对我来说,在进行交互式开发时,这是一种不可接受的延迟。
作为替代方案,您可以使用clojure.tools.namespace 库来使用更智能的代码重新加载方法。它基本上在内存中保留一个依赖关系图,并仅重新加载自上次刷新以来已更改的那些命名空间。
这对于某些但不是全部 Clojure 代码来说是开箱即用的。有关要避免的边缘情况的更多信息,请参阅自述文件的“准备您的应用程序”部分。
希望这可以帮助!