Ho sempre trovato Netbeans IDE molto più veloce e reattivo di Eclipse. Per rendere Eclipse più veloce, ho pensato di applicare le impostazioni della JVM con le quali Netbeans viene lanciato e applicarle ad Eclipse. Ho ottenuto dei risultati molto buoni, in generale Eclipse ora è molto più veloce e scattante.
Vediamo ora come configurare Netbeans per implementare la modifica dei parametri della JVM:
- cercate il file eclipse.ini. La sua locazione dipende dal vostro sistema operativo e da dove avete installato Eclipse. Su Windows, ad esempio, si trova nella stessa cartella di eclipse (hint: C:\eclipse o C:\Programmi\Eclipse); su Linux, date un’occhiata a /opt/eclipse (di solito è la directory più indicata per installarlo).
- una volta trovato il file eclipse.ini, apritelo con un editor di testo e aggiungete in fondo al file queste impostazioni di configurazione (copia/incolla, il segno – deve essere incluso):
-Xms512m
-Xmx512m
-XX:PermSize=256m
-XX:MaxPermSize=256m
-Xverify:none
-XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled - salvate e chiudete il file. Fine!
Per i più curiosi, vediamo di spiegare cosa rappresentano le opzioni di configurazione che abbiamo specificato:
- le prime quattro opzioni permettono di specificare la dimensione massima di memoria che Eclipse può utilizzare
- la quinta opzione specifica alla JVM di non verificare il bytecode generato
- per le ultime tre opzioni, vi rimando al Netbeans performance tuning tips; in generale le tre opzioni servono per fare il tuning del Garbage Collector della JVM.
Ci possono essere altre opzioni “utili” che potrebbero incrementare la velocità di Eclipse. È d’obbligo specificare, però, che le performance ottenute potrebbero variare da computer a computer, in relazione a molteplici fattori, quali sistema operativo, versione della JVM, versione di Eclipse, etc. Come si dice in gergo, YMMV.
Comunque, quello che io ho ottenuto è un aumento considerevole della velocità e della reattività di Eclipse, e difficilmente tornerò alle impostazioni di default.