Mój pierwszy średniej wielkości projekt napisałem wScala, a ja teraz trochę się martwię, że powolny przyrost czasu kompilacji w Eclipse może mieć coś wspólnego z moją tendencją do umieszczenia moich zajęć w stosunkowo niewielu, dużych .scala
akta.
Moja logika jest następująca: Jeśli zmienię niewielką klasę wewnątrz dużej .scala
zapis pliku i trafienia, kompilator może tylko zobaczyćże cały plik został w jakiś sposób zmodyfikowany i dlatego jest zmuszony do przekompilowania wszystkiego, co znajduje się w pliku wraz z klasami zależnymi, zamiast tylko zmodyfikowanej klasy i jej klas zależnych.
Oto pytanie: czy średnia liczba klas Scala umieszczonych w pojedynczym pliku w jakikolwiek sposób wpływa na szybkość rekompilacji, lub mówiąc w ten sposób: pod względem szybkości rekompilacji są małe .scala
pliki są preferowane w stosunku do dużych, czy naprawdę nie ma różnicy?
Odpowiedzi:
14 dla odpowiedzi № 1Masz rację: śledzenie zależności jest plikiem. Jeśli wprowadzisz zmiany w jednej klasie, ale twoja kompilacja ma kilka klas, spowoduje to rekompilację wszystkich plików zależnych od innych klas w tym samym pliku.
Edytować:
Ponieważ 0.13.6 sbt używa domyślnie nowego schematu mieszania nazw. Pozwala to na rekompilację tylko plików, które mają przynajmniej pewną zależność od zmodyfikowanej nazwy.
W ten sposób Sbt działa w linii poleceń, a Eclipse używa przyrostowego kompilatora w Sbt.