Как ускорить сборку lein Uberjar

У меня есть «основное» приложение Clojure, которое зависит от нескольких библиотек Clojure, две из которых мои. Фаза компиляции, будь то просто компиляция или запуск uberjar, занимает много времени. Это порядка как минимум одной минуты или больше. Ни мои библиотеки, ни main не очень большие.

Мои библиотеки и файлы основного проекта.clj содержат

  :aot [bene-cmp.core]
  :omit-source true

директивы.

Что я могу сделать, чтобы ускорить процесс сборки?

Вот три файла project.clj. проект.clj основной

;$Log$
;
(defproject bene-cmp "1.0.0-SNAPSHOT"
  :description "This is the main benetrak/GIC comparison program."
  :dependencies [[org.clojure/clojure "1.3.0"]
                 [org.clojure/tools.cli "0.1.0"]
                 [clojure-csv/clojure-csv "1.2.4"]
                 [seesaw "1.4.0"]
                 [bene-csv "1.0.0-SNAPSHOT"]
                 [util "1.0.0-SNAPSHOT"]]
  :aot [bene-cmp.core]
  :omit-source true
  :main bene-cmp.core)

библиотека project.clj 1

(defproject util "1.0.0-SNAPSHOT"
    ;$Log: project.clj,v $
    ;Revision 1.3  2012/04/04 18:24:36  cvsuser
    ;Take II on comments. (comment ) does not work.
    ;
    ;Revision 1.2  2012/04/04 18:20:54  cvsuser
    ;New library for Clojure. Add CVS comments.

  :description "A general purposes Clojure library"
  :dependencies [[org.clojure/clojure "1.3.0"]
                 [org.clojure/tools.cli "0.1.0"]]
  :aot [util.core]
  :omit-source true)

библиотека project.clj 2

(defproject bene-csv "1.0.0-SNAPSHOT"
  ;$Log: project.clj,v $
  ;Revision 1.2  2012/04/05 22:50:24  cvsuser
  ;Update and add cvs logging.
  ;
  :description "A csv parsing library"
  :dependencies [[org.clojure/clojure "1.3.0"]
                 [clojure-csv/clojure-csv "1.3.2"]
                 [util "1.0.0-SNAPSHOT"]]
  :aot [bene-csv.core]
  :omit-source true)

person octopusgrabbus    schedule 09.04.2012    source источник


Ответы (1)


настройте параметр jvm -Xmx на 2G или выше.

person number23_cn    schedule 13.04.2012
comment
Спасибо, но скорость сборки примерно такая же. Я добавил :jvm-opts [-Xmx1G] в свои основные и зависимые библиотеки. Однако было приятно узнать об этом, +1. - person octopusgrabbus; 13.04.2012