2012-11-29 6 views
6

In „Programmieren in scala“ Buch von Martin Odersky, erklärte er den Grund, warum scalac langsam (Seite 114) scheint:Scalac-Verhalten - nutzlose Scans?

Der Grund, dass jedes Mal, wenn der Compiler startet, es verbringt viel Zeit Scannen der Inhalte von JAR-Dateien und andere anfängliche Arbeiten vor es sieht sogar die frischen Quelldateien, die Sie an es senden.

Was ist der Vorteil der Kompilierung beim Scannen von JAR-Dateien, wenn eine Kompilierung gestartet wird? Wenn die meisten Entwickler FSC (Fast Scala Compiler) verwenden, um dieses Standardverhalten zu vermeiden, warum haben die Scala-Autoren diese Scans nicht entfernt?

Warum verhält sich javac nicht ähnlich?

+3

Ich hoffe, die meisten Entwickler verwenden Zink (inkrementelle Scala-Compiler, der in sbt, neuere Versionen von Maven-Plugin und einige andere Tools eingebaut ist). –

+0

Ich sagte FSC, da es der in dem Buch präzisierte ist. Ich habe gerade begonnen, Scala zu lernen, also habe ich mich gefragt, warum 'javac' keinen Compiler-Deamon benötigt, wie es ein scalaoptimierter Kompilierungsprozess zu benötigen scheint. – Mik378

+1

Ich vermute, dass Javac schneller wäre, wenn es einen Compiler-Daemon hätte. Java ist eine einfachere Sprache als die meisten und der Compiler macht sehr wenig Optimierung, was einige Vorteile hat. ;) –

Antwort

1

Es ist wahrscheinlich, weil scalac ruft einfach eine Klasse in einer .jar Datei. Meine Vermutung ist, dass sie keine temporären (oder Cache-) Dateien erstellen wollen.

Verwandte Themen