Sto utilizzando il nuovo plug-in di eclissi SonarLint in un grande progetto Eclipse RCP. È estremamente lento. L'analisi di tutti i progetti di plug-in (oltre 310) dura diverse ore. SonarLint crea un registro per ogni generazione di progetto, che assomiglia a questo:SonarLint è super slow
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 ...
Come possiamo vedere, la maggior parte del tempo che sono in attesa per l'inizializzazione java classpath. Sta peggiorando ulteriormente: questa inizializzazione viene eseguita dopo ogni salvataggio di un singolo file java!
C'è un modo per accelerare questo processo?
Questo potrebbe essere il risultato dell'esecuzione di Eclipse/SonarLint con un heap troppo piccolo. Oppure eseguendo Eclipse con un grande heap su un sistema che non ha abbastanza memoria (fisica). Guarda le statistiche sulle prestazioni del sistema. Attiva la registrazione GC della JVM. –
No. Utilizzo dell'opzione JVM "-Xmx 8g" su un computer con 16 GB di RAM. –
Mi aspetto anche che il caricamento dalla cache sia più rapido (pochi millisecondi). Hai un I/O lento o sovraccarico? –