Frage

Does SBT nutzen fsc?

Für Testzwecke ich Kompilieren eines 500-line-Programm auf einem ziemlich langsam Ubuntu-Rechner (Atom N270). Drei aufeinanderfolgende Kompilierungszeiten waren 77s, 66s und 66s.

ich dann die Datei mit fsc von der Kommandozeile zusammengestellt. Nun meine Zeiten waren 80s, 25s, 18s. Besser! Das bedeutet mir SBT nicht mit fsc. Habe ich recht? Wenn ja, warum es verwendet oder nicht?

kann ich versuche sbt immer explizit zu Kompilierung verwenden fsc, obwohl ich nicht sicher bin, werde ich die Config herauszufinden. Hat jemand getan?

War es hilfreich?

Lösung

SBT kann nicht von dem Fast-Scala Compiler profitieren, wenn Sie es interaktiv ausführen (mit oder ohne seinen kontinuierlichen Build-Modus), da die Scala-Compiler Klassen geladen werden, und erhält „aufgewärmt“ und JIT-ed, das ist die Gesamtheit fsc die Vorteil.

Andere Tipps

Diese Diskussion wurde mir klar, ich habe sbt die falsche Art und Weise im Einsatz.

Anstelle von (von der Kommandozeile):

$ sbt compile
$ sbt test

.. man sollte sbt Laufen hält und behandelt es als die Eingabeaufforderung.

$ sbt
> compile
  ...
> test

Es hat den Befehl Geschichte und sogar die Fähigkeit zu tauchen wieder in OS-Befehlszeile. Ich schrieb diese ‚Antwort‘ für andere wie mich (aus einer Mentalität Makefile kommen), die nicht erkennen, könnten wir die Pille alles falsch einnehmen. :)

(Es ist immer noch langsam, aber.)

Mindestens für SBT 0.7.x die Autoren erklären, dass es nicht so schnell wie fsc ist, die die Compiler-Instanz-Caches (einschließlich der geladenen Bibliotheken), anstatt nur den JITted Compiler Klassen:

http://code.google.com/p/simple- Build-Werkzeug / wiki / ChangeDetectionAndTesting

Meine Erfahrung bestätigt auch, dass fsc ist schneller für vollen compiliert, aber wähle nicht automatisch, was neu kompiliert werden.

Für SBT 0,10, kann ich keine Dokumente auch immer zu diesem Thema finden.

Sie brauchen es nicht mehr zu tun. Sbt hat seine eigene Art und Weise jetzt:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top