2012-04-09 13 views
8

Ho un'applicazione "principale" Clojure che dipende da diverse librerie Clojure, due delle quali sono mie. La fase di compilazione, che sia la compilazione o l'esecuzione di Uberjar, richiede molto tempo. È dell'ordine di almeno un minuto o più. Né le mie librerie né le principali sono molto grandi.Come accelerare lein Uberjar Buido

miei biblioteche e principali file project.clj contengono

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

direttive.

Cosa posso fare, se possibile, per accelerare il processo di compilazione?

Ecco i tre file project.clj. project.clj principale

;$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) 

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

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) 

Grazie.

risposta

2

impostazione opzione jvm -Xmx a 2G o superiore.

+0

Grazie, ma la velocità di costruzione è quasi la stessa. Ho aggiunto: jvm-opts ["-Xmx1G"] alle mie librerie principali e mie dipendenti. È stato comunque utile conoscere questo, +1. – octopusgrabbus

Problemi correlati