Używam nowej wtyczki eclipse SonarLint w dużym projekcie Eclipse RCP. Jest bardzo powolny. Analiza wszystkich projektów wtyczek (powyżej 310) trwa kilka godzin. SonarLint tworzy dziennik dla każdej kompilacji projektu, który wygląda tak:SonarLint jest super wolny
Starting SonarLint ... Load global repositories (done from cache) | time=98ms ... Load plugins index (done from cache) | time=3ms ... Load project repositories (done) | time=3ms ... Load quality profiles (done from cache) | time=45ms ... Load active rules (done) | time=174ms ... Load server rules (done from cache) | time=13ms ... JavaClasspath initialization done: 74003 ms ...
Jak widać, większość czasu czekamy na inicjalizacji java ścieżce klasy. Jest jeszcze gorzej: ta inicjalizacja jest wykonywana po każdym zapisie pojedynczego pliku java!
Czy istnieje sposób na przyspieszenie tego procesu?
Może to być wynikiem uruchomienia Eclipse/SonarLint ze zbyt małą ilością stert. Lub uruchamianie Eclipse z dużą stertą w systemie, który nie ma wystarczającej (fizycznej) pamięci. Spójrz na statystyki wydajności systemu. Włącz rejestrowanie GC JVM. –
Nie. Korzystanie z opcji JVM "-Xmx 8g" na komputerze z 16 GB pamięci RAM. –
Spodziewałbym się również, że ładowanie z pamięci podręcznej będzie kilka razy szybsze (kilka milisekund). Czy masz wolne lub przeciążone wejścia/wyjścia? –