Extrem langsame Kompilierzeit mit automatischem Reboot von SBT mit play! und scala-js

8

Ich habe Probleme mit SBT. Mein Projekt ist eine Abzweigung von dieser: Ссылка und ist im Moment ziemlich identisch. Ich habe nur ein paar Zeilen Code und importierte Scalatags hinzugefügt.

Wenn ich den Server mit sbt starte, führe ich das Projekt aus und es braucht viel Zeit. Das Gleiche gilt für die Auto-Reload-Funktion. Ich spreche jedes Mal etwa 2 bis 3 Minuten für jede Änderung des Codes. Das ist viel zu langsam sogar für SBT.

SBT Version 0.13.0 Spielen Sie Version 2.1 Scala Version 2.9.1 Scalatags Version 2.10 Scalajs 0.2.4

Dies ist die Ausgabe in der SBT-Konsole

%Vor%     
Chobeat 19.03.2014, 13:24
quelle

1 Antwort

2

Da Sie scalaggs und scala-js verwenden, die sehr Compiler-intensive Bibliotheken sind, haben Sie viel längere Kompilierzeiten als gewöhnlich, wenn Sie Code ändern, der Änderungen erfordert. Einige Dinge, die Sie tun können, um dies zu mildern, sind ein Upgrade auf die neuesten Versionen von Play (2.2.2), sbt (0.13.1) und scala (2.10.3), die alle Leistungsverbesserungen in Bezug auf die Kompilierzeit gemacht haben. Wenn Sie die inkrementellen Compilations nicht bereits verwenden, würde ich vorschlagen, dies zu tun (play ~ run oder play ~ test-quick). Überprüfen Sie auch Ihre Speichergrenzen (Xmx und MaxPermGen) und dass Sie die neueste Version des JDK (entweder 7 oder 8) verwenden.

Mit den neuesten Versionen konnte ich diese Zeiten bekommen:

"play test" kompilierte die App und Tests und führte alle Tests in 173 Sekunden durch

"play run" dauert 10 Sekunden, um die Web-App zu starten, nachdem sie bereits kompiliert wurde

"sbt run" dauert 10 Sekunden, um die Web-App zu starten, nachdem sie bereits kompiliert wurde

"sbt test" dauert 10-25 Sekunden

"play test" dauert 10-17 Sekunden

"sbt kompilieren" dauert ~ 20 Sekunden nach dem Löschen

Diese Zeiten wurden auf einem Macbook Pro Retina mit SBT_OPTS="- Xmx2048m" in .sbtconfig

erreicht     
Jason Pearson 19.03.2014, 18:09
quelle

Tags und Links