Aktualizuję kod z 2.9.1 do 2.10.0 (i próbowałem 2.10.1 z tymi samymi wynikami), używając SBT 0.12.1 w obu przypadkach.Scala 2.10 kompilator zajmuje 10 razy więcej czasu po raz pierwszy w SBT
Po uruchomieniu sbt clean compile
w linii komend obie są zakończone po około 250 sekundach.
Jednak, gdy biegnę sbt
interaktywnie, a następnie kilkakrotnie wprowadzić clean
compile
moi 2.9 kompiluje się szybciej, ale moi 2.10 kompiluje się 10x wolniej.
Jeśli użyję sterty o wielkości 768 m, w 2.1 kompilacji zabraknie pamięci. Przy wielkości sterty wynoszącej 4 g jest on w stanie skompilować za każdym razem, ale zawsze 10 razy wolniej po pierwszej iteracji.
[success] Total time: 258 s, completed Mar 14, 2013 10:44:34 AM
[success] Total time: 2048 s, completed Mar 14, 2013 11:23:03 AM
[success] Total time: 2049 s, completed Mar 14, 2013 11:58:42 AM
[success] Total time: 2047 s, completed Mar 14, 2013 12:43:19 PM
Jaki jest najlepszy sposób debugowania, aby dowiedzieć się, co się dzieje?
mógłbyś przechwycić zrzut stosu na tym 'OutOfMemoryError' postępując zgodnie z poniższymi instrukcjami: http://www.oracle.com/technetwork/ java/javase/memleaks-137499.html # gdyrr? Jeśli możesz mi ją udostępnić (jason dot zaugg na typesafe dot com), mógłbym cię poszukać. – retronym
Ponadto, jeśli można opublikować pełne dane wyjściowe kompilacji i opcje JVM, może pojawić się problem. np. czy widzisz http://blogs.atlassian.com/2012/05/codecache-is-full-compiler-has-been-disabled/? – retronym