2012-04-09 10 views
8

Tengo una aplicación Clojure "principal" que depende de varias bibliotecas Clojure, dos de las cuales son mías. La fase de compilación, ya sea compilando o ejecutando uberjar, lleva mucho tiempo. Es del orden de al menos un minuto o más. Ninguna de mis bibliotecas ni principales son muy grandes.Cómo acelerar Lein Uberjar Buid

Mis bibliotecas y archivos principales project.clj contienen

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

directivas.

¿Qué puedo hacer, si acaso, para acelerar el proceso de compilación?

Aquí están los tres archivos project.clj. project.clj principal de la biblioteca project.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) 
(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) 

biblioteca 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) 

Gracias.

Respuesta

2

configuración opción jvm -Xmx a 2G o superior.

+0

Gracias, pero la velocidad de construcción es casi la misma. He agregado: jvm-opts ["-Xmx1G"] a mis bibliotecas principales y dependientes. Sin embargo, fue bueno aprender sobre esto, +1. – octopusgrabbus