Ramp up your IDE - Performance Tips for IntelliJ IDEA

6 Juli, 2009 - 11:07

Beim Entwickeln in einer IDE gibt es viele Dinge zu beachten, die sich positiv oder sogar negativ auf die Performance der Entwicklungsumgebung auswirken können.

Nachfolgend finden sich ein paar Tips, die es bei der Benutzung von IntelliJ Idea zu beachten gilt. Die einzelnen Tipps sind noch einmal nach drei unterschiedlichen Bereichen gewichtet:
  • Auswirkung auf Startzeiten der IDE
  • Auswirkung auf Performanz beim Arbeiten mit der IDE
  • Auswirkungen auf das Kompilier und Sync-Verhalten (beim Einsatz von CVS, Perforce, etc)
Die Bewertung der drei Kategorien reicht dabei von einem + bis zu fünf +. Je höher die Zahl, desto einen größeren Einfluss hat dieser Tipp auf die jeweilige Kategorie.
Die Tipps beziehen sich vor allem auf den Einsatz von IDEA bei großen Mengen von Quellcode.
 

Tipp 1: IDEA Speicheroptionen und Speicher

IDEA benötigt genügend Speicher, damit intern ein entsprechendes Objektmodell für alle Quellen aufgebaut werden kann. Darüber hinaus bewirkt viel Arbeitsspeicher in der Maschine, auf der gearbeitet wird, dass Dateien direkt im Cache gehalten werden.

Startup time                      +++++
Working performance         +++++
Compile/Sync                    +++++

Tipp2 : Windows SUBST

Windows bietet die Möglichkeit Verzeichnisse oder Netzlaufwerke als eigenes “virtuelles” Laufwerk einzubinden. Das wirkt sich extrem negative auf den Datendurchsatz aus und verhindert, dass IDEA geänderte Dateien schneller finden kann.
Als Lösung bietet sich hier die Verwendung einer zweiten Festplatte oder einer anderen Partition an. Auf jeden Fall sollte man nicht versuchen direkt auf Netzwerkressourcen zu arbeiten!
Eine bestehende Festplatte mit nur einer Partition kann einfach mit freien Tools in zwei Partitionen zerlegt warden.
Startup time                      ++++
Working performance         +++
Compile/Sync                    ++++
 

Tipp3: Virus Scanner

Viele Virenscanner bieten die Möglichkeit eines sogenannten Realtime Scans. D.h. der Virenscanner prüft Dateien direkt beim Lese- oder Schreibzugriff. Da eine IDE sehr viel Dateien liest und schreibt, empfiehlt es sich den Realtime Scan für folgende Verzeichnisse abzuschalten:
Verzeichnisse mit Quellen
  • IDEA Cache
  • IDEA Programm Verzeichnis
Startup time                      ++
Working performance         +++
Compile/Sync                    ++++
 

Tipp4: Lokale Historie

IDEA bietet die Möglichkeit alle Änderungen an den durch IDEA bearbeiteten Dateien in einer lokalen Historie mit zu protokollieren. Das geht natürlich sehr zu Lasten der Performanz beim Arbeiten mit IDEA. Deshalb die lokale Historie unter
  • File->Settings->IDE Settings->Local history
abschalten.

Startup time                     
Working performance         ++++
Compile/Sync                   

Tipp 5: IDEA Plugins

IDEA kann durch Plugins erweitert werden. Standardmäßig sind nach der Installation von IDEA ein bestimmter Satz von Plugins immer verfügbar und auch aktiviert. Diese Plugins werden von den meisten Leuten nicht verwendet und wirken sich negativ auf die Geschwindigkeit der Anwendung aus. Deshalb alle nicht benötigten Plugins unter
  • File-->Settings-->IDE Settings-->Plugins
abschalten.

Startup time                      ++++
Working performance         ++ (hängt von den installierten Plugins ab)
Compile/Sync                    

Tipp 6: Indizierung von Laufwerken und Verzeichnissen

Windows erlaubt es komplette Laufwerke oder Verzeichnisse für schnellere Dateisuchen zu indizieren. Die Indizierung läuft dann natürlich auch für die IDEA Caches, Quellcode, etc. Eine besser Alternative stellt das Abschalten der Windows Indizierung und der Einsatz von Desktop Suchmaschinen wie z.B. Windows Desktop Search oder Google Desktop Search dar. Um die Indizierung zu deaktivieren, einfach die Eigenschaften des Laufwerks öffnen und dort die Auswahlbox „Laufwerk für schnelle Dateisuche indizieren“ abschalten.
Startup time                      +++
Working performance         ++
Compile/Sync                    +++
 

Tipp 7: Aktualisierung von Zugriffsdatum

Windows kann so konfiguriert werden, dass bei jedem Lesezugriff auf eine Datei deren Zugriffsdatum aktualisiert wird. Das zieht bei großen Datenmengen natürlich die Performanz nach unten. Konfiguriert werden kann das Ganze über einen Wert in der Windows Registry. Zum Abschalten einfach das Registry File aus dem Anhang ausführen.

Startup time                      +++
Working performance        
Compile/Sync                    +++

Tipp 8: Cachen von Schreibzugriffen

Windows bietet die Möglichkeit Schreibzugriffe erst einmal zu cachen und dann in einem Rutsch wegzuschreiben. Das spart Zeit. Man sollte darauf achten, dass diese Option angeschaltet ist. Dazu die Eigenschaften der Festplatte öffnen, den Tab Hardware selektieren, dort die Eigenschaften öffnen und dann das Richtlinien Tab selektieren.
Startup time                     
Working performance         ++
Compile/Sync                    +
 

Tipp 9: Codevervollständigung

IDEA bietet dem Entwickler Unterstützung in Form von Code Vervollständigung an. Diese kann so eingestellt werden, dass sie zwischen Groß- und Kleinschreibung unterscheidet, was natürlich beim Arbeiten teurer ist. Zum Konfigurieren einfach
  • File->Settings->IDE Settings->Code Completion
entsprechend anpassen.

Startup time                     
Working performance         ++
Compile/Sync                   

Tipp 10: IDEA Cache

IDEA arbeitet intern mit einem Cache für Sourcen, etc. Dieser Sollte auch auf eine andere Partition oder am Besten auf eine eigene Festplatte ausgelagert werden. Die Einstellungen befinden sich unter:
  • IDEA_HOME/bin/idea.properties
Dort sind die Eigenschaften
                idea.config.path=U:/IDEA/70/config
                idea.system.path=U:/IDEA/70/system
                idea.plugins.path=U:/IDEA/70/config/plugins
anzupassen.

Startup time                     
Working performance         +
Compile/Sync                   

Tipp 11: Ungenutzte Module

IDEA bietet die Möglichkeit Projekte in Module zu unterteilen bzw. einzelne Module zu öffnen. Man sollte alle Module, die nicht unbedingt benötigt werden, aus dem Projekt löschen. Aber Vorsicht bei Refactorings werden natürlich die ausgehängten Module auch nicht mehr berücksichtigt!
Startup time                      +++++
Working performance         ++
Compile/Sync                    +++++
 

Tipp 12: IDEA Pojektsicht

IDEA bietet eine Projektsicht als Packetbaum oder Projektbaum. Die Packetsicht ist ein klein wenig langsamer als die Projektsicht.
Startup time                     
Working performance         +
Compile/Sync                    

 

AnhangGröße
lastaccessdate.zip272 Bytes