2016-01-25 11 views
7

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?

+0

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

+0

Nie. Korzystanie z opcji JVM "-Xmx 8g" na komputerze z 16 GB pamięci RAM. –

+0

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? –

Odpowiedz

-3

Próbowałem zainstalować wtyczkę SonarLint eclipse bez komponentu SonarLint for Eclipse Java Cofiguration Helper i to rozwiązało problem. Używam Eclipse_4.6.1 z SonarLint_2.2.1

Po powyższej poprawki:

... 
JavaClasspath initialization done: 0 ms 
... 
JavaTestClasspath initialization done: 0 ms 
... 
Java Main Files AST scan done: 327 ms 
... 
Java Test Files AST scan done: 1 ms 
+1

Dzięki, to rozwiązało mój problem! – sagarwadhwa1

6

Zdejmowanie SonarLint dla Eclipse Java Configuration Helper nie jest rozwiązaniem: usunie integrację SonarLint z projektów Java , co oznacza, że ​​analiza nie będzie zawierała kilku ważnych właściwości potrzebnych do jej poprawności, takich jak ścieżka klas.

Być może występuje ten problem: https://jira.sonarsource.com/browse/SONARJAVA-1818.

Oto kilka rzeczy, aby spróbować jeśli SonarLint działa wolno:

  • Upewnij się, że używasz analizatora Java 4.2, który jest zawarty w SonarLint Eclipse> 2.2.1 (w przypadku korzystania z trybu podłączonego , zainstaluj go na serwerze SonarQube).
  • Aktualizacja do najnowszej wersji SonarLint (ulepszenia są zawsze dokonywane)
  • Zwiększenie heap space used by Eclipse.

Jeśli nadal napotykasz problemy z wydajnością, poinformuj nas, w jaki sposób korzystasz z SonarLint, aby znaleźć problem. Możesz otworzyć temat w numerze SonarLint group.