2012-04-09 10 views
8

Ich habe eine Clojure "Haupt" -Anwendung, die von mehreren Clojure-Bibliotheken abhängt, von denen zwei mir gehören. Die Kompilierphase, egal ob Sie nur kompilieren oder Uberjar ausführen, dauert lange. Es liegt in der Größenordnung von mindestens einer Minute oder mehr. Weder meine Bibliotheken noch Hauptbücher sind sehr groß.Beschleunigen lein Uberjar Buid

Meine Bibliotheken und Haupt project.clj Dateien enthalten

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

Richtlinien.

Was kann ich tun, um den Build-Prozess zu beschleunigen?

Hier sind die drei project.clj-Dateien. project.clj Haupt

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

danken Ihnen.

Antwort

2

Setup jvm Option -Xmx bis 2G oder höher.

+0

Danke, aber die Baugeschwindigkeit ist ungefähr gleich. Ich habe hinzugefügt: jvm-opts ["-Xmx1G"] zu meiner Haupt- und meinen abhängigen Bibliotheken. Es war jedoch gut, darüber zu lernen, +1. – octopusgrabbus