Come velocizzare Eclipse su Ubuntu 7.04

Nota: anche se il numerino vicino alla parola UBUNTU nel titolo è 7.04, questa guida va bene senza modifiche anche per 7.10. Ringrazio Nacest per l’appunto.

Durante l’utilizzo di Eclipse su Ubuntu, mi sono sempre scontrato contro il muro della lentezza dell’applicazione. Le cose più banali, come il ridisegnamento di una finestra o persino l’apertura di un menù a tendina, mi facevano sembrare Eclipse (che in variante Windows è una scheggia) una vecchia carcassa di elefante poggiata casualmente sul mio dual screen.

Durante le ricerca nella rete ho trovate molte soluzioni più o menù utili (come l’installazione della variante gcj, accreditata come con l’essere più veloce in alcuni forum). Comunque la maggior parte non avevano alcun esito.

Poi per caso ho individuato una piccola dritta, niente di che: modificare la memoria allocata ad Eclipse all’avvio e il massimo utilizzabile durante le esecuzioni. Visto che dalla mia posso contare il fatto di avere 1.5 gb di ram (che su Linux sono ben oltre che il minimo necessario), un po di ram allocata per Eclipse, anche inutilmente, non mi avrebbero fatto alcuna differenza.

Quindi iniziamo subito con l’editare il file /usr/lib/eclipse/eclipse.ini.

$ sudo gedit /usr/lib/eclipse/eclipse.ini

All’interno del file vengono mantenute le configurazioni di avvio di eclipse. In dettaglio le linee presenti dovrebbero essere

-vmargs
-Xms32m
-Xmx64m

La prima ignoriamola. La seconda indica il quantitativo minimo usato da Eclipse (il 32). Aumentandola a 64 dovrebbe essere abbastanza indolore per tutti. La terza infine indica il quantitativo massimo utilizzato. Qui potete sbizzarrirvi. Chi più ne ha più ne metta. Personalmente un 768 lo archiviamo come valore.

Ora passiamo alla seconda e ultima chicca: l’Eclipse è un Ide multipiattaforma [per Java e non solo]. Il fatto di essere multipiattaforma è merito del linguaggio in cui è scritto: JAVA. Ovviamente Eclipse richiede quindi una installazione di una JRE < 1.4.

Su Ubuntu questo è quello che ho riscontrato: se installi Eclipse tramite Apt o Synaptic viene installata come dipendenza la Gcj, implementazione di Java libera corrispondente alla versione 1.4.2 (lenta… lenta… anzi lentissssssssiiimmmaaaa rispetto alla Java 6 di Sun). Avviando l’ambiente è facile vedere come, anche dopo aver installato la celeberrima sun-java6-jdk, la versione della java machine sia sempre ed inevitabilmente la lumaca gcj.

Il trucchetto sta proprio nel avviare il tutto con la java6. Sui forum si trovano soluzioni di ogni tipo. C’è chi consiglia di installare eclipse+gcj normalmente, poi cancellare la cartella della gcj creando un link simbolico alla java6, chi usare direttamente la versione binaria non pacchettizzata di Eclipse impostando un di code, chi avviare l’Eclipse preceduto e seguito da chilometriche liste di argomenti. Ma nessuno fa la cosa più semplice: modificare un piccolo e insignificante file aggiungendo una piccola e innocua linea.

Apriamo il file /etc/eclipse/java_home.

$ sudo gedit /etc/eclipse/java_home

Il file che si presenterà sarà nella forma:

# This file determines the search order the Eclipse Platform uses to find a
# compatible JAVA_HOME. This setting may be overridden on a per-user basis by
# altering the JAVA_HOME setting in ~/.eclipse/eclipserc.

/usr/lib/jvm/java-gcj
/usr/lib/kaffe/pthreads
/usr/lib/jvm/java-1.5.0-sun
/usr/lib/j2se/1.5
/usr/lib/j2se/1.4
/usr/lib/j2sdk1.5-ibm
/usr/lib/j2sdk1.4-ibm
/usr/lib/j2sdk1.5-sun
/usr/lib/j2sdk1.4-sun

Le prime righe di commento sono abbastanza esplicite:

Questo file determina l’ordine di ricerca che Eclipse userà per identificare una JAVA_HOME. Questa impostazione… bla bla bla bla…

Bene, per fare la magia è sufficiente inserire come prima linea (sopra a quella brutta linea che finisce per java-gcj) il percorso per la nostra installazione preferita di Java 6 (di standard /usr/lib/jvm/java-6-sun)

Una volta fatto potete anche ringraziarmi :P

6 commenti

  1. nacest:

    Bene, fino a domani (18 ottobre) questa guida sarà utile! Poi esce la 7.10 XD

  2. ximarx:

    Il discorso non cambia… anche per 7.10 eclipse dipende ed usa java “di-quanto-sono-lenta” gcj. :P

  3. Pecos Pest:

    Ottimo!!!!Avevo anche io riscontrato lo stesso problema ed ho risolto modificando il file java_home.
    (utilizzo ubuntu 7.10)

    Grazie

  4. ximarx:

    Felice di esserti stato di aiuto

  5. Polluce:

    grazie per la dritta…

  6. Domo:

    4ok mitico! è una skeggia

Lascia un commento