boosting the performance of your eclipse ide

38
Boosting the Performance of your Eclipse IDE Karsten Thoms EclipseCon Europe, Ludwigsburg, 2015-11-05

Upload: karsten-thoms

Post on 15-Apr-2017

1.257 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Boosting the Performance of your Eclipse IDE

Boosting the Performance of your Eclipse IDE

Karsten Thoms

EclipseCon Europe, Ludwigsburg, 2015-11-05

Page 2: Boosting the Performance of your Eclipse IDE

https://stocksnap.io/photo/PTGK3N8C1C

Page 3: Boosting the Performance of your Eclipse IDE

Where performance issues are annoying

Startup

Build

UI Responsiveness

Page 4: Boosting the Performance of your Eclipse IDE

The convenient way

Page 5: Boosting the Performance of your Eclipse IDE
Page 6: Boosting the Performance of your Eclipse IDE
Page 7: Boosting the Performance of your Eclipse IDE

Wow! That was too easy!

Page 8: Boosting the Performance of your Eclipse IDE

Hunting performance issues

http://www.stockvault.net/photo/164167/iceberg

Page 9: Boosting the Performance of your Eclipse IDE

Hardware

Page 10: Boosting the Performance of your Eclipse IDE

Hidden costs of waiting

Page 11: Boosting the Performance of your Eclipse IDE

Configure Anti-VirusJRE/JDK

Eclipse Installation Folder

~/.p2

Workspace Folder

Project Folders

Output Locationshttp://www.stockvault.net/photo/180403/cyber-security-concept-with-umbrella-on-data-screen

Page 12: Boosting the Performance of your Eclipse IDE

Disable IndexingOS indexes every changed file

Consumes CPU & IO

Usually senseless for build output and workspace metadata

Can only be disabled easily for directories, not by file types

Programmatically:

Spotlight: Flag File.metadata_never_index

Windows: attrib.exe /s –i *.*

Page 13: Boosting the Performance of your Eclipse IDE

RAM Disk

Page 14: Boosting the Performance of your Eclipse IDE

RAM Disk

http://www.tekrevue.com/ram-disk-2013-mac-pro-2014-macbook-pro/

Page 15: Boosting the Performance of your Eclipse IDE

RAM DiskWhat to store?

Read-only Data

JRE

Bundle Pool

Output folders

Use Symbolic Links

Store / Restore state to/from persistent storage

Page 16: Boosting the Performance of your Eclipse IDE

Eclipse Installation

Page 17: Boosting the Performance of your Eclipse IDE

Eclipse InstallationDon’t store Eclipse / Workspace on Network Share

Use a current Eclipse distribution

Don’t install every feature any team member might use

Different feature set for different tasks?

Expensive: Mylyn, Subversion

Use Oomph setups or Eclipse Profiles

Page 18: Boosting the Performance of your Eclipse IDE

eclipse.ini Java SettingsUse the latest JRE

Use Server VM

Use enough Heap

Increase Young Generation Space

Disable Class Validation

Turn on Compiler Optimizations

Activate Parallel GC

-vm/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/bin-server-Xms512m-Xmx2g-Xmn512m-Xverify:none-XX:+AggressiveOpts-XX:+UseParallelGC

Page 19: Boosting the Performance of your Eclipse IDE

Workspace Resources

Close unused projects

Close unused views

Close unused perspectives

Page 20: Boosting the Performance of your Eclipse IDE

Make Projects Closeable

Page 21: Boosting the Performance of your Eclipse IDE

Make Projects Closeable

Page 22: Boosting the Performance of your Eclipse IDE

Split Projects

Page 23: Boosting the Performance of your Eclipse IDE

Resource Filters

Page 24: Boosting the Performance of your Eclipse IDE

Compiler Warnings

Reduce compiler warnings

If you ignore them anyway, filter them

Ignore optional warnings on selected source folders (e.g. generator output)

Page 25: Boosting the Performance of your Eclipse IDE

Plug-in DevelopmentTarget Platform

Mirror/Aggregate Public p2 Repositoriesb3 Aggregator, Buckminster, p2 Tools

Deploy on Local Network / Repository Manager

Launch Config for Eclipse Application

Required bundles only

Disable API Tooling during development Enable on demand, in CI, before milestones

Page 26: Boosting the Performance of your Eclipse IDE

Cleanup Metadata

Clean JDT index<WS>\.metadata\.plugins\org.eclipse.jdt.core

Resource History <WS>\.metadata\.plugins\org.eclipse.core.resources\.history

PDE caches / Bundle Pool <WS>\.metadata\.plugins\org.eclipse.pde.core

or even fresh workspacehttp://www.stockvault.net/photo/133998/recycling-grunge-sign

Page 27: Boosting the Performance of your Eclipse IDE

Preferences

Page 28: Boosting the Performance of your Eclipse IDE

Deactivate Startup Plugins

Page 29: Boosting the Performance of your Eclipse IDE

Disable Spell Checking

Page 30: Boosting the Performance of your Eclipse IDE

Suspend Validators

Page 31: Boosting the Performance of your Eclipse IDE

Disable Animations

Page 32: Boosting the Performance of your Eclipse IDE

Disable Decorations

Page 33: Boosting the Performance of your Eclipse IDE

Maven

Page 34: Boosting the Performance of your Eclipse IDE

Disable Check for Updates

Page 35: Boosting the Performance of your Eclipse IDE

Profile Eclipse Taskshttp://www.stockvault.net/photo/134668/-stopwatch

Page 36: Boosting the Performance of your Eclipse IDE

Questions ?

http://www.stockvault.net/photo/122646/school-boy-

Page 37: Boosting the Performance of your Eclipse IDE
Page 38: Boosting the Performance of your Eclipse IDE

References“7 Tips to Speed Up Eclipse”

http://www.nicolasbize.com/blog/7-tips-to-speed-up-eclipse/

„15 Useful Tips - Speed Up Eclipse To An Ultra Fast IDE"http://www.fromdev.com/2013/05/Speed-Up-Eclipse.html

„How to quickly make eclipse faster“ http://howtodoinjava.com/2014/04/05/how-to-quickly-make-eclipse-faster/

“Benchmarking G1 and other Java 7 Garbage Collectors”http://blog.mgm-tp.com/2013/12/benchmarking-g1-and-other-java-7-garbage-collectors/

Alex Blewitt: “Eclipse start optimisation”http://alblue.bandlem.com/2015/09/eclipse-optimisation-part-2.html

Lars Vogel: “Eclipse Activator startup sins – Tracing the startup time”http://blog.vogella.com/2015/09/16/eclipse-activator-startup-sins-tracing-the-startup-time/