我用Clojure编写了一些小的实用程序,我使用Maven和maven-影子插件将其编译成可执行的独立JAR文件(“uberjars”)。这些uberjars包含应用程序所依赖的clojure.jar和其他库(即:Commons-cli)的未打包版本。它们很方便,因为我可以将它们发送给客户,而无需客户安装Clojure(所有客户都已经安装了JRE)。
我已经发现Clojure应用程序需要几秒钟才能启动,而用Java编写的类似应用程序则在同一台机器上的子秒内启动(例如,显示使用信息的时间)。
我怀疑这是因为Clojure正在快速编译clojure.core库中的一些代码,因为在clojure.jar文件中有源代码(.clj
)。
有任何方法来预编译这个源代码吗?还能做些什么来加快启动速度吗?我已经听到客户抱怨启动需要多长时间(他们不知道或不关心应用程序是用Clojure、Java或Foobar编写的)。
相似问题