Maven Maven und die Build-Geschwindigkeit

DefconDev

Bekanntes Mitglied
Hallo zusammen,

zu meiner ersten Frage oder Feststellung:

benutzt Maven beim Build immer nur einen physikalischen Kern des Prozessors? Sofern ich das verstanden habe, ja. Denn ab der Version 3.x ist es möglich mit gewissen Parameter das auf mehrere Threads oder Kerne auszulagern.
Code:
mvn -T 4 clean install
Ist das korrekt, was ich da von mir gebe?

Nun zu meinem Problem und weiterer Fragen:
Nur sind gewisse Abhängigkeiten in meinem Projekt nicht threadsicher, also fällt die Aufteilung wahrscheinlich flach wenn ich keine Alternativen finde die es sind.
Hinzu kommt, das mein Build auf meinem Notebook 10-15 Minuten benötigt mit einem I5 5200U(2 Kerne, 4 Threads, Singlethread Leistung ist nicht so berauschend), plus 8 GB RAM und Win 10. Ein Kollege von mir hat ein älteres Macbook Air auch mit einem I5(2Kerne) und 8GB RAM und baut das selbe Projekt meist innerhalb von 5Minuten, ist Mac-OS so viel schneller?

Und gibt es ein Plugin von Maven welches mir erlaubt die Abhängigkeiten zu filtern welche nicht threadsicher sind? Dann könnte ich zumin. abschätzen ob es sich lohnt Alternativen zu suchen.

Danke Euch wieder Mal.
 

mrBrown

Super-Moderator
Mitarbeiter
benutzt Maven beim Build immer nur einen physikalischen Kern des Prozessors?
Ein virtueller, aber der Rest passt afaik.
EDIT: zumindest der Maven-Teil läuft nicht parallel, einzelne Build-Schritte können intern durchaus schon paralle laufen.

Nur sind gewisse Abhängigkeiten in meinem Projekt nicht threadsicher, also fällt die Aufteilung wahrscheinlich flach wenn ich keine Alternativen finde die es sind.
Was meinst du in dem Fall mit nicht threadsicheren Abhängigkeiten?

Dependency’s deines Projekts oder Plugins?

Hinzu kommt, das mein Build auf meinem Notebook 10-15 Minuten benötigt mit einem I5 5200U(2 Kerne, 4 Threads, Singlethread Leistung ist nicht so berauschend), plus 8 GB RAM und Win 10. Ein Kollege von mir hat ein älteres Macbook Air auch mit einem I5(2Kerne) und 8GB RAM und baut das selbe Projekt meist innerhalb von 5Minuten, ist Mac-OS so viel schneller?
Das MacBook dürfte ziemlich sicher eine schnellere Festplatte haben, das ist ein möglicher Faktor.
Generell spielt da aber so viel rein, dass man keine allgemeingültige Ausage treffen kann, zB CPU, RAM, Festplatte, laufende Prozesse, Java-Version und JVM, ...
 
Zuletzt bearbeitet:

mihe7

Top Contributor
Schon mal die Dinge getestet: https://zeroturnaround.com/rebellabs/your-maven-build-is-slow-speed-it-up/ ?

Was die Hardware betrifft, mal ein Extrembeispiel. Vor langer, langer Zeit trug es sich zu, dass ein Hersteller Pentium Notebooks auf den Markt brachte, dessen CPU mit damals durch beachtlichen 800 MHz angetrieben wurde. Problem: das Ding war fürchterlich langsam. Grund war der verwendete Speichercontroller, der die Datenraten auf 486er-Niveau limitierte. Papier ist eben geduldig.
 

DefconDev

Bekanntes Mitglied
Was meinst du in dem Fall mit nicht threadsicheren Abhängigkeiten?
Dependency’s deines Projekts oder Plugins?

Müsste ich beim Bauen schauen ob ich mich mit der Wortwahl vertan habe, ich meine aber Abhängigkeiten sind nicht threadsicher. Zumindest wenn ich versuche meine Builds auf mehrere Kerne und Threads zu verteilen, wird mir eine Warnung ausgegeben das eine Abhängigkeit nicht threadsicher ist.

Zur Buildzeit, mein Notebook hat ebenfalls eine SSD zwar eine von 2014 von Intel.

Aber wieder Mal ein Dank an dich Mr. Brown für deine kompetente Hilfe. :)
 

mrBrown

Super-Moderator
Mitarbeiter
Btw, was an deinen Build dauert denn so lange?

Da gibt es ja viele Dinge, die Zeit fressen können, die aber nichts miteinander zu tun haben und auch nicht durch parallelisierung schneller werden.
 

mrBrown

Super-Moderator
Mitarbeiter
Müsste ich beim Bauen schauen ob ich mich mit der Wortwahl vertan habe, ich meine aber Abhängigkeiten sind nicht threadsicher. Zumindest wenn ich versuche meine Builds auf mehrere Kerne und Threads zu verteilen, wird mir eine Warnung ausgegeben das eine Abhängigkeit nicht threadsicher ist.
Das dürfte sich auf Plugins beziehen. Da sollte auch beistehen, um welche Plugins es geht - das ist dann auch die Antwort auf deine letzte Frage oben ;)

Zur Buildzeit, mein Notebook hat ebenfalls eine SSD zwar eine von 2014 von Intel.
Die in Mac ist vermutlich trotzdem schneller :p aber wenn beide SSDs haben, dürfte der Unterschied nicht so groß sein.

Ich würde erstmal prüfen, was überhaupt viel Zeit kostet.

Am Ende ist das noch sowas wie „du lässt die Tests laufen, die 10m brauchen, dein Kollege überspring die“ (und ja, sowas hab ich schon erlebt :p )
 

mihe7

Top Contributor
@Hades85 Mal eine andere Frage, rein Interesse halber: wie groß ist das Teil, das ihr da baut? Anzahl java-Files, LOCs oder etwas in der Richtung würden mich mal interessieren.
 

DefconDev

Bekanntes Mitglied
org.apache.maven.plugins:maven-jar-plugin:2.2
org.codehaus.mojo:xmlbeans-maven-plugin:2.3.3
org.apache.maven.plugins:maven-resources-plugin:2.3
org.apache.maven.plugins:maven-antrun-plugin:1.3

Das ist eine Auswahl an Plugins die nicht threadsicher ist. Hattest also recht, kein Abhängigkeiten sondern Plugins. In der Auswahl kann ich leider ein Plugin nicht erhöhen, xmlbeans-maven-plugin 2.3.3. Eine höhere Version gibt es nicht und die Alternativen die ich gefunden habe, bringen Code-Änderungen mit sich. Das wollte ich erst einmal vermeiden.

Das ganze ist in etliche Child-POMs unterteilt, die brauchen aber nicht viel Zeit zum bauen lediglich das Hauptmodul das benötigt dann locker 6-8 Minuten inklusve das Zusammensetzen aller Geschichten.
 

DefconDev

Bekanntes Mitglied
@Hades85 Mal eine andere Frage, rein Interesse halber: wie groß ist das Teil, das ihr da baut? Anzahl java-Files, LOCs oder etwas in der Richtung würden mich mal interessieren.
Gerade mal das Plugin Statistic installiert. Also wenn ich nur die reinen Java-Files nehme dann wird mit 93001 die "Source Code Lines" angegeben. Was mich gerade wundert dass es so extrem viele Java-Script-Zeilen angegeben sind, in Höhe von 4.462.326 reine Codezeilen. Trotzdem ist es laut Kollegen eher ein kleineres bis mittleres Projekt, für ihn zumindest. Das Ding lässt sich aber auch mit vernünftiger Hardware auch in unter 5 Minuten bauen.

War halt generell interessiert an der Multithread-Geschichte, wenn ich mal Homeoffice mache. Denn in Zukunft soll ein neuer Rechner her und mir stellt sich die Frage ob man mit einem HEDT-Prozessor dass ganze noch mehr beschleunigen kann.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Maven Maven Build Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 4
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
D Maven Multi Module Build Tools - Maven, Gradle, Ant & mehr 8
S Maven project build error (String index out of range: 1) Tools - Maven, Gradle, Ant & mehr 2
B Maven build-helper-maven-plugin mit Eclipse Tools - Maven, Gradle, Ant & mehr 3
Oneixee5 Maven deploy - per SSH Tools - Maven, Gradle, Ant & mehr 6
H Maven kein Hauptmanifestattribut Tools - Maven, Gradle, Ant & mehr 10
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
D Interne Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 51
J log4j2 mit Hibernate über Maven Tools - Maven, Gradle, Ant & mehr 10
H Maven JUnit5 Tests werden ignoriert Tools - Maven, Gradle, Ant & mehr 5
thor_norsk Maven Tools - Maven, Gradle, Ant & mehr 32
Ich kann Maven nicht als UmgebungsVariable hinzufügen Tools - Maven, Gradle, Ant & mehr 2
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
W Was "braucht" man denn alles? Maven, Ant, Git, ... Tools - Maven, Gradle, Ant & mehr 21
N Fehler beim Imgui mit Maven Tools - Maven, Gradle, Ant & mehr 7
M Spring Boot Maven pom.xml-Eintrag Tools - Maven, Gradle, Ant & mehr 17
Encera JavaFX und Maven funktioniert nicht Tools - Maven, Gradle, Ant & mehr 1
B maven multi module Projekt und unnötige/zusätzliche Leerzeilen Tools - Maven, Gradle, Ant & mehr 4
J Maven Konfusion Tools - Maven, Gradle, Ant & mehr 7
Tippster Maven Sqlite integrieren (Eclipse, Maven) Tools - Maven, Gradle, Ant & mehr 4
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
T JSON Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 7
T JavaFX, Jar über Maven kreieren Tools - Maven, Gradle, Ant & mehr 2
Encera Libraries Maven Projekt hinzufügen Tools - Maven, Gradle, Ant & mehr 9
Oneixee5 Maven Phase Tools - Maven, Gradle, Ant & mehr 3
Robertop maven copy-resources nicht in WAR Datei Tools - Maven, Gradle, Ant & mehr 2
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
M Mit Maven eine jar Datei bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 1
M Mit Maven eine jar Datei Bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 18
H Maven Maven: <mainClass>NAME?</mainClass> Tools - Maven, Gradle, Ant & mehr 13
H Maven maven-source-plugin is missing Tools - Maven, Gradle, Ant & mehr 5
M Missing Artifact on selbst gehostestes Maven Paket Tools - Maven, Gradle, Ant & mehr 8
M Error code 409 maven Tools - Maven, Gradle, Ant & mehr 5
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
M durch Maven wird "var" nicht gefunden Tools - Maven, Gradle, Ant & mehr 4
N Maven Intellij Maven Projekt erstell keine src Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven Einzelne Unit Tests in Maven Builds skippen Tools - Maven, Gradle, Ant & mehr 3
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
L Maven IntelliJ, Maven und JavaFX + SceneBuilder Tools - Maven, Gradle, Ant & mehr 23
von Spotz Maven und Spring: "Add to classpath" ? Tools - Maven, Gradle, Ant & mehr 29
Kirby.exe Projekt mit Maven kompilieren Tools - Maven, Gradle, Ant & mehr 13
P Maven Projekt Abhängigkeiten auf bekante Schwachstellen prüfen Tools - Maven, Gradle, Ant & mehr 4
H Maven dependency Problem ? Tools - Maven, Gradle, Ant & mehr 23
B Maven und Intellij Tools - Maven, Gradle, Ant & mehr 24
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
yakazuqi Maven Eigene API mit Maven einbinden Tools - Maven, Gradle, Ant & mehr 1
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
P Maven Wie die Maven Project version in JSP page verwenden? Tools - Maven, Gradle, Ant & mehr 2
C Maven Multi-Module Projekt Tools - Maven, Gradle, Ant & mehr 2
T Maven Warnings/Fehlermeldungen Tools - Maven, Gradle, Ant & mehr 12
T Maven und Datenbank(treiber) Tools - Maven, Gradle, Ant & mehr 13
T Maven Runnable Jar Tools - Maven, Gradle, Ant & mehr 5
T Grundlagen Maven und Git/Github Tools - Maven, Gradle, Ant & mehr 2
LimDul Maven Maven Surefire Plugin - Warnings upgrade Tools - Maven, Gradle, Ant & mehr 2
G Maven upload Tools - Maven, Gradle, Ant & mehr 0
K Maven - Parent oder Dependency? Tools - Maven, Gradle, Ant & mehr 5
B Maven Maven deploy Tools - Maven, Gradle, Ant & mehr 4
H Jenkins keine Tests gefunden - aber in Maven Tools - Maven, Gradle, Ant & mehr 30
P Mit Maven einen spezifischen Branch nach Tag-Parameter erstellen (in Jenkins-Job) Tools - Maven, Gradle, Ant & mehr 3
P Nur einen Teilbaum in Maven releasen? Tools - Maven, Gradle, Ant & mehr 7
D Cannot invoke "javafx.scene.control.MenuButton.getScene()" nach konvertierung zu maven Tools - Maven, Gradle, Ant & mehr 3
H Maven - keine Durchführung von Tests Tools - Maven, Gradle, Ant & mehr 12
H Jenkins - maven-jar-plugin - kein jar-file Tools - Maven, Gradle, Ant & mehr 38
P JavaFX jar mit Maven Tools - Maven, Gradle, Ant & mehr 9
P Maven & Intellij Modul kann nicht aufgelöst werden Tools - Maven, Gradle, Ant & mehr 12
H Eclipse JUnit erzeugt Fehler im Maven-Test Tools - Maven, Gradle, Ant & mehr 1
H Maven Anfängerproblem - No plugin found for prefix 'archetype' in the current project and in the plugin groups Tools - Maven, Gradle, Ant & mehr 25
sascha-sphw Maven vs Gradle Tools - Maven, Gradle, Ant & mehr 24
K Maven IntelliJ + Maven + JavaFX Tools - Maven, Gradle, Ant & mehr 2
J Maven Mit Maven eine ZIP Datei erstellen Tools - Maven, Gradle, Ant & mehr 0
K Maven install schlägt fehl Tools - Maven, Gradle, Ant & mehr 10
I Problem: Maven import extern Lib Tools - Maven, Gradle, Ant & mehr 3
Tom299 Maven Maven funktioniert nach Installation nicht Tools - Maven, Gradle, Ant & mehr 1
I Maven Interface hinzugefügt - Error Tools - Maven, Gradle, Ant & mehr 1
M Verständnisfrage Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven installieren - "Befehl wurde nicht gefunden" Tools - Maven, Gradle, Ant & mehr 1
E Maven: Wie Abhängigkeiten analysieren? Tools - Maven, Gradle, Ant & mehr 0
E Maven Maven distributionManagement Vererbung in child POM Tools - Maven, Gradle, Ant & mehr 8
P Maven Parent- Child POMs Tools - Maven, Gradle, Ant & mehr 13
E Release Kandidaten mit Maven bauen Tools - Maven, Gradle, Ant & mehr 4
C Orderstruktur bei Libarys - Wie mit Ant oder Maven lösen? Tools - Maven, Gradle, Ant & mehr 0
G Maven, finde Dependency nicht... Tools - Maven, Gradle, Ant & mehr 2
G Maven Continious Integration mit Jenkins, Maven und Nexus - wie richtig? Tools - Maven, Gradle, Ant & mehr 1
P Maven Parent und Child Poms - dependencies Tools - Maven, Gradle, Ant & mehr 1
reibi Maven Maven + Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Maven add resource Tools - Maven, Gradle, Ant & mehr 0
D [Maven Pluginentwicklung] - Plugin das nur auf Parent pom läuft Tools - Maven, Gradle, Ant & mehr 0
S Maven Maven und Auflösen von JSF EL Tools - Maven, Gradle, Ant & mehr 5
H Maven HSQLDB in den Maven lifecycle einbinden Tools - Maven, Gradle, Ant & mehr 5
S Maven Unterschiedliche Deployments mit Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven buildnumber-maven-plugin / Formatproblem mit timestamp Tools - Maven, Gradle, Ant & mehr 17
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
aze Maven downgraden von 3.x auf 2.09 unter Linux Tools - Maven, Gradle, Ant & mehr 4
Rudolf JSF und Maven mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
M Maven-Dependency kann nicht gefunden werden Tools - Maven, Gradle, Ant & mehr 2
M Maven imports aus Modulen Tools - Maven, Gradle, Ant & mehr 4
P multimodul maven in SVN Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen

Neue Themen


Oben