/ / Czy przyrostowa prędkość kompilacji w programie Scala zależy od liczby klas na plik? - scala, kompilacja

Czy przyrostowa prędkość kompilacji w programie Scala zależy od liczby klas w pliku? - scala, kompilacja

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 № 1

Masz 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.