Eclipse Activator startup sins – Tracing the startup time

Inspired by the Eclipse start optimisation by Alex Blewitt post, I traced my environment and reworked our Eclipse Tracing tutorial section to enable others to do the same.

On my machine starting the Eclipse IDE (with only the SDK, XML editor and Git installed) takes 4317 ms. Looking at the “bad” guys it looks like Eclipse could start approx. 18 % faster if PDE and JDT would not activating themself. If opened Bug for JDT core and Bug for PDE.

If case you experience long startup time in your setup, I recommend to turn on the tracing option and if you see a slow starting component, to open a bug report or code correction for it. In most cases removing the activator (and moving its logic to another place which is lazy initialized) should speed up the start process.

293 org.eclipse.pde.ui_3.8.300.v20150911-1533
259 org.eclipse.pde.core_3.10.200.v20150911-1533
199 org.eclipse.jdt.core_3.12.0.v20150913-1717
132 org.eclipse.ui.trace_1.0.300.v20150911-1533
127 org.eclipse.core.runtime_3.12.0.v20150912-0621
96 org.eclipse.ltk.core.refactoring_3.7.0.v20150811-0952
88 org.eclipse.core.resources_3.11.0.v20150909-2051
68 org.eclipse.ui.workbench_3.107.100.v20150915-1646
53 org.eclipse.equinox.simpleconfigurator_1.1.100.v20150907-2149
52 org.eclipse.jdt.ui_3.12.0.v20150914-0905
46 org.eclipse.core.jobs_3.8.0.v20150911-1658
44 org.eclipse.osgi_3.10.200.v20150831-0856
41 org.eclipse.equinox.console_1.1.100.v20141023-1406
36 org.eclipse.e4.ui.model.workbench_1.1.100.v20150813-1519
34 org.eclipse.equinox.p2.ui.sdk.scheduler_1.2.100.v20150907-2149
34 org.eclipse.emf.common_2.11.0.v20150805-0624
31 org.eclipse.update.configurator_3.3.300.v20140518-1928
27 org.eclipse.jdt.launching_3.8.0.v20150819-1826
24 org.eclipse.equinox.registry_3.6.100.v20150715-1528
24 org.eclipse.equinox.ds_1.4.300.v20150423-1356
24 org.eclipse.debug.ui_3.11.100.v20150911-0904
22 org.eclipse.equinox.app_1.3.400.v20150715-1528
20 org.eclipse.core.net_1.2.300.v20141118-1725
19 org.eclipse.equinox.preferences_3.6.0.v20150809-1729
16 org.apache.felix.gogo.runtime_0.10.0.v201209301036
14 org.eclipse.emf.ecore_2.12.0.v20150805-0624
12 org.eclipse.equinox.p2.reconciler.dropins_1.1.300.v20150907-2149
12 org.eclipse.debug.core_3.10.0.v20150911-0751
10 org.eclipse.team.core_3.7.100.v20150203-1452
7 org.eclipse.equinox.common_3.8.0.v20150911-2106
7 org.apache.felix.gogo.shell_0.10.0.v201212101605
5 org.eclipse.equinox.util_1.0.500.v20130404-1337
5 org.eclipse.equinox.p2.engine_2.4.0.v20150907-2149
5 org.eclipse.equinox.p2.core_2.4.0.v20150527-1706
5 org.eclipse.e4.ui.workbench_1.3.0.v20150821-1750
5 org.apache.felix.gogo.command_0.10.0.v201209301215
2 org.eclipse.ui.ide_3.12.0.v20150915-2041
2 org.eclipse.ui_3.107.0.v20150914-1638
2 org.eclipse.ltk.ui.refactoring_3.8.0.v20150713-1605
1 org.eclipse.ui.workbench.texteditor_3.9.200.v20150901-0449
1 org.eclipse.ui.views.log_1.0.600.v20150911-1533
1 org.eclipse.ui.monitoring_1.0.0.v20150512-1436
1 org.eclipse.ui.externaltools_3.3.0.v20150903-1021
1 org.eclipse.ui.editors_3.9.100.v20150901-0449
1 org.eclipse.pde.launching_3.6.400.v20150911-1533
1 org.eclipse.jdt.core.manipulation_1.7.0.v20150713-1605
1 org.eclipse.help_3.6.0.v20130326-1254
1 org.eclipse.equinox.security_1.2.200.v20150715-1528
1 org.eclipse.equinox.p2.metadata_2.3.0.v20150907-2149
1 org.eclipse.equinox.p2.garbagecollector_1.0.200.v20150907-2149
1 org.eclipse.equinox.p2.directorywatcher_1.1.100.v20150423-1455
1 org.eclipse.emf.ecore.xmi_2.12.0.v20150805-0624
1 org.eclipse.e4.ui.workbench.swt_0.13.0.v20150915-1214
1 org.eclipse.e4.ui.workbench.renderers.swt_0.13.0.v20150908-1041
1 org.eclipse.e4.ui.css.swt_0.12.0.v20150824-1436
1 org.eclipse.e4.core.services_2.0.0.v20150827-1906
1 org.eclipse.core.filesystem_1.6.0.v20150824-0358
1 org.eclipse.core.filebuffers_3.5.500.v20140723-1040
1 org.eclipse.core.databinding.observable_1.6.0.v20150731-2248

About Lars Vogel

Lars Vogel is the founder and CEO of the vogella GmbH and works as Eclipse and Android consultant, trainer and book author. He is a regular speaker at international conferences, He is the primary author of vogella.com. With more than one million visitors per month this website is one of the central sources for Java, Eclipse and Android programming information.
This entry was posted in Eclipse, Lars Vogel. Bookmark the permalink.

4 Responses to Eclipse Activator startup sins – Tracing the startup time

  1. Aurelien Pupier says:

    Hey,

    that’s a cool tip. I just tried with our own product and discovered some plugins who takes most of the time… More than the JDT one that you reported and I’m not sure we need them at startup…

    It was very easy to set it up with the step by step provided in your linked tutorial.

    Just for information here is the result:
    1562 org.eclipse.birt.report.designer.ui.ide_4.4.1.v201409081527
    1548 org.eclipse.birt.report.designer.ui_4.4.1.v201408290142
    482 org.eclipse.equinox.simpleconfigurator_1.1.0.v20131217-1203
    374 org.codehaus.groovy.eclipse.ui_2.9.1.xx-201411061335-e44-RELEASE
    359 org.eclipse.xtext.ui.shared_2.7.3.v201411190455
    232 org.eclipse.core.resources_3.9.1.v20140825-1431
    202 org.eclipse.core.runtime_3.10.0.v20140318-2214
    176 org.eclipse.jdt.core_3.10.0.xx-201411061335-e44-RELEASE
    126 org.eclipse.wst.jsdt.core_1.3.300.v201410221502
    122 org.eclipse.jdt.debug_3.8.101.v20140902-1548
    108 org.eclipse.wst.common.modulecore_1.2.401.v201408132036
    104 org.eclipse.datatools.sqltools.debugger.core.ui_1.0.0.v201003161000
    102 org.eclipse.team.svn.core_2.0.1.I20140907-1700
    98 org.eclipse.core.contenttype_3.4.200.v20140207-1251
    97 org.eclipse.jdt.ui_3.10.1.v20140817-1500
    88 org.eclipse.jdt.debug.ui_3.6.300.v20140512-1926
    88 org.eclipse.datatools.sqltools.editor.core_1.0.3.v201212120623
    82 org.eclipse.ui.intro_3.4.200.v20130326-1254
    82 org.eclipse.equinox.console_1.1.0.v20140131-1639
    74 org.eclipse.ui.workbench_3.106.1.v20140827-1737
    74 org.eclipse.birt.chart.reportitem.ui_4.4.1.v201408290142
    71 org.eclipse.core.net_1.2.200.v20140124-2013
    70 org.eclipse.update.configurator_3.3.300.v20140518-1928
    64 org.eclipse.pde.ui_3.8.101.v20140902-1534
    54 org.eclipse.equinox.app_1.3.200.v20130910-1609
    50 org.eclipse.osgi_3.10.1.v20140909-1633
    47 org.eclipse.equinox.preferences_3.5.200.v20140224-1527
    47 org.eclipse.emf.ecore_2.10.1.v20140901-1043
    46 org.eclipse.equinox.ds_1.4.200.v20131126-2331
    45 org.eclipse.debug.ui_3.10.1.v20140822-1408
    40 org.eclipse.equinox.registry_3.5.400.v20140428-1507
    39 org.eclipse.wst.jsdt.ui_1.1.500.v201409121658
    38 org.bonitasoft.studio.diagram_7.1.0.201509160735
    35 org.eclipse.e4.ui.workbench_1.2.1.v20140901-1244
    31 org.apache.felix.gogo.runtime_0.10.0.v201209301036
    24 org.eclipse.birt.chart.reportitem_4.4.1.v201408290142
    22 org.eclipse.team.svn.ui_2.0.1.I20140907-1700
    22 org.eclipse.pde.core_3.10.1.v20140902-1534
    21 org.eclipse.birt.report.item.crosstab.ui_4.4.1.v201408290142
    20 org.eclipse.gmf.runtime.diagram.ui.properties_1.7.0.201408201453
    19 org.eclipse.team.core_3.7.0.v20130514-1224
    17 org.eclipse.core.jobs_3.6.0.v20140424-0053
    15 org.eclipse.compare_3.5.501.v20140817-1445
    15 org.bonitasoft.studio.application_7.1.0.201509160735
    13 org.eclipse.birt.core_4.4.1.v201409160530
    12 org.eclipse.equinox.common_3.6.200.v20130402-1505
    11 org.eclipse.wst.server.ui_1.5.100.v201407281532
    11 org.eclipse.team.ui_3.7.100.v20130710-1213
    11 org.codehaus.groovy.eclipse.dsl_2.9.1.xx-201411061335-e44-RELEASE
    11 org.apache.felix.gogo.shell_0.10.0.v201212101605
    9 org.eclipse.wst.common.emfworkbench.integration_1.2.101.v201107081800
    8 org.eclipse.jdt.launching_3.7.101.v20140825-1922
    7 org.eclipse.ltk.core.refactoring_3.6.101.v20140817-1500
    7 org.eclipse.gmf.runtime.diagram.ui_1.8.0.201408201453
    7 org.eclipse.debug.core_3.9.1.v20140805-1629
    7 org.eclipse.core.runtime.compatibility_3.2.200.v20140128-0851
    7 org.apache.felix.gogo.command_0.10.0.v201209301215
    6 org.eclipse.equinox.util_1.0.500.v20130404-1337
    5 org.eclipse.xtext.ui_2.7.3.v201411190455
    5 org.eclipse.wst.server.core_1.6.2.v201409292121
    5 org.eclipse.datatools.enablement.sybase.asa.schemaobjecteditor.examples_2.5.0.200810071
    5 org.eclipse.datatools.connectivity.apache.derby_1.0.103.v201212070447
    5 org.bonitasoft.studio.diagram.form_7.1.0.201509160735
    5 org.bonitasoft.studio.configuration_7.1.0.201509160735
    4 org.eclipse.xtext_2.7.3.v201411190455
    4 org.eclipse.birt.report.model_4.4.200.201509151356
    4 org.eclipse.birt.chart.engine_4.4.1.v201409160530
    4 org.bonitasoft.studio.dependencies_7.1.0.201509160735
    4 org.bonitasoft.studio.application.ex_7.1.0.201509160745
    3 org.eclipse.wst.common.emf_1.2.300.v201501292352
    3 org.eclipse.jst.server.core_1.2.400.v201309182039
    3 org.eclipse.gmf.tooling.runtime_3.2.0.201409171321
    3 org.eclipse.emf.edapt.migration_1.0.1.201509151356
    3 org.eclipse.birt.report.engine_4.4.1.v201409160530
    3 org.eclipse.birt.report.designer.ui.lib.explorer_4.4.1.v201409031625
    2 org.eclipse.ui.workbench.texteditor_3.9.0.v20140411-1521
    2 org.eclipse.ui.trace_1.0.201.v20140702-1807
    2 org.eclipse.jst.server.tomcat.core_1.1.600.v201405251701
    2 org.eclipse.gmf.runtime.common.core_1.7.0.201408201453
    2 org.eclipse.datatools.sqltools.sqleditor_1.0.4.v201212120623
    2 org.eclipse.birt.core.ui_4.4.1.v201408290142
    2 org.bonitasoft.studio.preferences_7.1.0.201509160735
    2 org.bonitasoft.studio.engine.ex_7.1.0.201509160745
    2 org.bonitasoft.studio.diagram.form.custom_7.1.0.201509160735
    1 org.polarion.eclipse.team.svn.connector.svnkit18_4.1.3.I20150214-1700
    1 org.eclipse.xtext.ui.codetemplates.ui_2.7.3.v201411190455
    1 org.eclipse.wst.web.ui_1.1.600.v201302011850
    1 org.eclipse.wst.jsdt.manipulation_1.0.500.v201402051800
    1 org.eclipse.wst.common.frameworks_1.2.200.v201304241450
    1 org.eclipse.wst.common.frameworks.ui_1.2.300.v201401292051
    1 org.eclipse.wst.common.core_1.2.0.v200908251833
    1 org.eclipse.ui_3.106.0.v20140812-1751
    1 org.eclipse.ui.views_3.7.0.v20140408-0703
    1 org.eclipse.ui.net_1.2.200.v20120807-0927
    1 org.eclipse.ui.ide_3.10.1.v20140828-0944
    1 org.eclipse.ui.forms_3.6.100.v20140422-1825
    1 org.eclipse.ui.editors_3.8.200.v20140401-1310
    1 org.eclipse.ui.browser_3.4.200.v20131003-1453
    1 org.eclipse.search_3.9.100.v20140226-1637
    1 org.eclipse.pde.launching_3.6.200.v20140521-1231
    1 org.eclipse.ltk.ui.refactoring_3.7.100.v20140324-1358
    1 org.eclipse.jdt.groovy.core_2.9.1.xx-201411061335-e44-RELEASE
    1 org.eclipse.jdt.core.manipulation_1.5.0.v20130605-1748
    1 org.eclipse.help_3.6.0.v20130326-1254
    1 org.eclipse.gmf.runtime.notation_1.8.0.201405281433
    1 org.eclipse.gmf.runtime.lite.svg_1.0.1.201509151356
    1 org.eclipse.gmf.runtime.gef.ui_1.7.0.201408201453
    1 org.eclipse.gmf.runtime.draw2d.ui_1.8.0.201408201453
    1 org.eclipse.gmf.runtime.draw2d.ui.render_1.7.0.201408201453
    1 org.eclipse.gmf.runtime.diagram.ui.resources.editor_1.7.0.201408201453
    1 org.eclipse.gmf.runtime.diagram.core_1.7.0.201408201453
    1 org.eclipse.gmf.runtime.common.ui.action_1.7.0.201408201453
    1 org.eclipse.equinox.security_1.2.0.v20130424-1801
    1 org.eclipse.equinox.event_1.3.100.v20140115-1647
    1 org.eclipse.emf.transaction_1.8.0.201405281451
    1 org.eclipse.emf.edit_2.10.1.v20140901-1055
    1 org.eclipse.emf.edit.ui_2.10.1.v20140901-1055
    1 org.eclipse.emf.edapt.history_1.0.1.201501181223
    1 org.eclipse.e4.ui.model.workbench_1.1.0.v20140512-1820
    1 org.eclipse.e4.core.services_1.2.1.v20140808-1251
    1 org.eclipse.e4.core.contexts_1.3.100.v20140407-1019
    1 org.eclipse.e4.core.commands_0.10.2.v20140424-2344
    1 org.eclipse.datatools.sqltools.db.generic_1.0.0.v201107221520
    1 org.eclipse.datatools.enablement.ibm.db2.luw_1.0.3.v201401170830
    1 org.eclipse.datatools.connectivity_1.2.11.v201401230755
    1 org.eclipse.datatools.connectivity.sqm.core_1.2.8.v201401230755
    1 org.eclipse.core.filebuffers_3.5.400.v20140127-1516
    1 org.eclipse.core.databinding.observable_1.4.1.v20140210-1835
    1 org.eclipse.compare.core_3.5.400.v20130903-0736
    1 org.eclipse.birt.report.designer.ui.lib_4.4.1.v201408290142
    1 org.eclipse.birt.data_4.4.1.v201409160530
    1 org.eclipse.birt.chart.ui_4.4.1.v201408290142
    1 org.eclipse.birt.chart.ui.extension_4.4.1.v201408290142
    1 org.codehaus.groovy_1.8.6.xx-201411061335-e44-RELEASE
    1 org.codehaus.groovy.eclipse.compilerResolver_2.9.1.xx-201411061335-e44-RELEASE
    1 org.bonitasoft.studio.validation_7.1.0.201509160735
    1 org.bonitasoft.studio.themes_7.1.0.201509160745
    1 org.bonitasoft.studio.repository.themes_7.1.0.201509160735
    1 org.bonitasoft.studio.properties.ex_7.1.0.201509160745
    1 org.bonitasoft.studio.kpi_7.1.0.201509160745
    1 org.bonitasoft.studio.intro_7.1.0.201509160735
    1 org.bonitasoft.studio.importer_7.1.0.201509160735
    1 org.bonitasoft.studio.exporter_7.1.0.201509160735
    1 org.bonitasoft.studio.diagram.form.custom.ex_7.1.0.201509160745
    1 org.bonitasoft.studio.diagram.custom_7.1.0.201509160735
    1 org.bonitasoft.studio.contract_7.1.0.201509160735
    1 org.bonitasoft.studio.connectors_7.1.0.201509160735
    1 org.bonitasoft.studio.connectors.model_7.1.0.201509160735
    1 org.bonitasoft.studio.configuration.ex_7.1.0.201509160745
    1 org.bonitasoft.studio.common_7.1.0.201509160735
    1 org.bonitasoft.studio.common.repository_7.1.0.201509160735
    1 org.bonitasoft.studio.common.ex_7.1.0.201509160745
    1 org.bonitasoft.studio.businessobject_7.1.0.201509160735
    1 org.bonitasoft.studio.actors_7.1.0.201509160735
    0 org.polarion.eclipse.team.svn.connector.svnkit17_4.1.3.I20150214-1700
    0 org.eclipse.xtext.builder_2.7.3.v201411190455
    0 org.eclipse.xsd_2.10.0.v20140901-1055
    0 org.eclipse.wst.xml.ui_1.1.501.v201501212057
    0 org.eclipse.wst.web_1.1.800.v201312041437
    0 org.eclipse.ui.views.properties.tabbed_3.6.100.v20140519-0906
    0 org.eclipse.ui.views.log_1.0.500.v20140512-1221
    0 org.eclipse.ui.console_3.5.300.v20140424-1437
    0 org.eclipse.team.svn.ui.startup_2.0.0.I20140609-1700
    0 org.eclipse.jst.common.project.facet.core_1.4.400.v201403261418
    0 org.eclipse.jface_3.10.1.v20140813-1009
    0 org.eclipse.jem.util_2.1.200.v201404021757
    0 org.eclipse.gmf.runtime.emf.core_1.7.0.201408201453
    0 org.eclipse.gmf.runtime.diagram.ui.printing_1.7.0.201408201453
    0 org.eclipse.gmf.runtime.diagram.ui.printing.render_1.8.0.201408201453
    0 org.eclipse.gmf.runtime.common.ui.services.properties_1.7.0.201408201453
    0 org.eclipse.gef_3.9.100.201408150207
    0 org.eclipse.equinox.p2.metadata_2.2.0.v20131211-1531
    0 org.eclipse.equinox.frameworkadmin_2.0.100.v20131209-2144
    0 org.eclipse.emf.ecore.xmi_2.10.1.v20140901-1043
    0 org.eclipse.emf.common_2.10.1.v20140901-1043
    0 org.eclipse.emf.common.ui_2.9.0.v20140901-1055
    0 org.eclipse.e4.ui.workbench.swt_0.12.100.v20140530-1436
    0 org.eclipse.e4.ui.workbench.renderers.swt_0.12.1.v20140903-1023
    0 org.eclipse.e4.ui.services_1.1.0.v20140328-1925
    0 org.eclipse.e4.ui.css.swt_0.11.101.v20140818-1343
    0 org.eclipse.e4.core.di_1.4.0.v20140414-1837
    0 org.eclipse.e4.core.di.extensions_0.12.0.v20140417-2033
    0 org.eclipse.datatools.sqltools.debugger.core_1.0.1.v201107221520
    0 org.eclipse.datatools.sqltools.db.derby_1.0.0.v201107221520
    0 org.eclipse.datatools.enablement.sybase.ase_1.0.3.v201212120618
    0 org.eclipse.datatools.enablement.sybase.asa_1.0.2.v201212120618
    0 org.eclipse.datatools.enablement.sqlite_1.0.0.v201002041100
    0 org.eclipse.datatools.connectivity.oda_3.4.3.v201405301249
    0 org.eclipse.core.variables_3.2.800.v20130819-1716
    0 org.eclipse.core.filesystem_1.4.100.v20140514-1614
    0 org.eclipse.core.expressions_3.4.600.v20140128-0851
    0 org.eclipse.birt.report.designer.ui.views_4.4.1.v201409081527
    0 org.eclipse.birt.report.designer.ui.cubebuilder_4.4.1.v201408290142
    0 org.eclipse.birt.report.designer.core_4.4.1.v201408290142
    0 org.eclipse.birt.report.data.adapter_4.4.1.v201408290142
    0 org.codehaus.groovy.eclipse.core_2.9.1.xx-201411061335-e44-RELEASE
    0 org.bonitasoft.studio.xml_7.1.0.201509160735
    0 org.bonitasoft.studio.validators_7.1.0.201509160735
    0 org.bonitasoft.studio.team_7.1.0.201509160745
    0 org.bonitasoft.studio.simulation_7.1.0.201509160735
    0 org.bonitasoft.studio.scripting_7.1.0.201509160735
    0 org.bonitasoft.studio.profiles_7.1.0.201509160735
    0 org.bonitasoft.studio.profile.ex_7.1.0.201509160745
    0 org.bonitasoft.studio.pics_7.1.0.201509160735
    0 org.bonitasoft.studio.parameters_7.1.0.201509160735
    0 org.bonitasoft.studio.model.edit_7.1.0.201509160735
    0 org.bonitasoft.studio.migration_7.1.0.201509160735
    0 org.bonitasoft.studio.groovy_7.1.0.201509160735
    0 org.bonitasoft.studio.expression.editor_7.1.0.201509160735
    0 org.bonitasoft.studio.engine_7.1.0.201509160735
    0 org.bonitasoft.studio.documentation.ui_7.1.0.201509160745
    0 org.bonitasoft.studio.designer_7.1.0.201509160735
    0 org.bonitasoft.studio.debug_7.1.0.201509160735
    0 org.bonitasoft.studio.data_7.1.0.201509160735
    0 org.bonitasoft.studio.data.complex_7.1.0.201509160745
    0 org.bonitasoft.studio.connectors.model.edit_7.1.0.201509160735
    0 org.bonitasoft.studio.condition.ui_7.1.0.201509160735

  2. Lars Vogel says:

    Aurelien, woh! Birt startup contribution time sounds scary. Can you report this with them? Also Groovy and Xtext startup sounds to much.

  3. The problem is doing long running tasks in an Activator if I understand Al’s blog post correctly. Would a correct fix be to use the Activator to schedule a Job only? That Job would start after say 5 secs and do the actual work when you do need some action at start up, like a splash editor (Tasktop)?

  4. Rhohith says:

    Is there a way to reduce the startup time of your Eclipse? I have maven installed and at the very beginning it build all the indices, which takes long time. I want to get rid of that and make Eclipse start fast. Please suggest.

Comments are closed.