Community
Participate
Working Groups
build I20050509 The heap status indicator shows the, in my development workbench, Help > About > Configuration Details generates 40M of garbage the first time it's used, 33M each time after that.
The resulting config details are quite large (>2M saved as a file). See bug 94878 for details.
The time seems to be going into materializing the update site objects. If I comment out the ConfigurationLogUpdateSection contribution from o.e.ui.ide's plugin.xml, it gets much faster. I'll attach a profile.
Yes, all the features are parsed, etc. This slow down can also be noticed the first time update is invoked via the install wizard or the configuration manager dialog. The About could be faster if only the branded features would be displayed, as the code is in the configurator and is much lighter.
Created attachment 21285 [details] Profile of first invocation of "Configuration Details" dialog from target workspace
Moving to Update for consideration. Things to note in the above profile: - 1 call to ConfigurationLogUpdateSection.write() leads to 100 calls to InstallConfigurationModel.isCurrent() which leads to 197 calls to InternalSiteManager.getSite() which leads to 9 calls to SiteFileFactory.parsePackagedPlugins() which leads to 574 JarFile and BundleManifest creations - see also the other expansions
The output from this section is as follows. Looks like a lot of work just to dump the config history and "isCurrent" state. The section also dumps update activities within each config, but there aren't any in this case. *** Update Manager Log: Configuration=Fri Apr 29 15:44:08 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 03 10:42:34 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 03 11:09:57 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 03 11:13:57 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 03 11:58:51 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 03 12:03:08 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 03 17:54:51 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 03 17:59:13 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 03 18:16:53 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 03 18:28:36 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 03 18:40:39 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 03 18:52:51 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 04 12:49:04 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 04 12:51:46 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 04 14:37:38 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 04 14:38:46 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 04 15:31:53 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 04 15:46:48 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 04 17:20:23 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 04 17:29:12 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 04 17:35:52 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Thu May 05 13:21:52 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Thu May 05 14:26:16 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Thu May 05 14:47:54 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Thu May 05 16:09:32 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Thu May 05 16:40:33 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Thu May 05 17:00:32 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 09:51:05 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 11:23:42 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 15:55:06 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 15:58:21 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 15:58:56 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:32:14 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:32:32 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:33:14 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:33:38 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:34:12 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:38:29 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:39:49 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:40:41 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:41:17 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:42:11 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:51:43 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:52:01 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:53:10 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:55:25 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:55:43 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 06 16:58:36 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 09 13:57:43 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 09 13:59:39 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 09 14:06:11 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 09 15:02:53 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 09 15:10:41 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 09 15:19:17 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 14:00:24 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 14:10:06 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 14:11:37 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 15:42:50 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 15:49:00 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 15:57:02 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 17:03:50 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 17:06:25 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 17:39:15 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 18:07:01 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 18:35:20 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 18:44:17 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 10 18:51:20 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 11 10:20:52 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 11 10:27:39 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 11 11:35:31 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 11 11:36:32 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 11 13:46:10 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 11 14:36:05 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 11 14:44:33 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 11 14:58:22 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 11 15:10:15 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 11 16:51:26 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Wed May 11 22:18:38 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Thu May 12 11:17:52 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Thu May 12 15:56:54 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 13 12:03:29 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 13 13:41:50 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 13 13:49:12 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 13 14:03:23 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 13 14:05:48 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 13 16:05:03 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 13 16:11:16 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Fri May 13 16:14:38 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 16 11:10:09 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 16 15:23:53 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 16 16:01:31 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 16 17:11:48 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 16 17:21:29 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Mon May 16 17:27:43 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 17 13:37:35 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 17 13:53:08 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 17 14:06:43 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 17 14:25:15 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 17 14:38:22 EDT 2005 Is current configuration=false ---------------------------------------------------- Configuration=Tue May 17 14:44:18 EDT 2005 Is current configuration=true
Nick, After looking at the output and talking to Konrad Kolosowski it looks like this output might be more useful if it was showing more about current configuration then printing out previous configurations. There is also considerable performance gain from this. We have created patch for ConfigurationLogUpdateSection to show what we are proposing. This patch should be applied on the org.eclipse.ui.ide project.
Created attachment 21774 [details] ConfigurationLogUpdateSection change
I released Branko's changes to org.eclipse.update.core plug-in to perform light weight initialization, but changing ui.ide to use update.configurator instead of update.core, if possible, will give much more gain.
Strings in this patch are not externalized, but I marked them as non-externalizable, so that it can compile. If this change is accepted they should be externalized before release.
I'm fine with the workbench change. Would you be able to supply a patch with properly NLSed strings?
Created attachment 21793 [details] properly NLSed strings this is patch with strings properly externalized and dates internationalized
Patch applied. Thanks Branko, this is a big improvement, both in performance and content.
thanks
When I first tried this, the list of plug-in paths appeared sorted, but it isn't in I20050527. You might want to consider sorting the list, to make it easier to read. We do this in the system properties and installed plug-ins list, but not the preference section (we just append the usual pref export format, which isn't sorted).