Bug 75130 [Workbench] Workbench could avoid re-reading feature ini's to speed startup
Build 3.0.1. This is a very small improvement, but it was large enough to show up on my list of potential optimizations. Essentially it avoids re-reading the feature INI's on startup. Our product has LOTS of feature plug-ins (103), so this adds up. Attached is the proposed change; it isn't sophisticated, essentially saying "if I had at least one tips and tricks / welcome page before, I probably have one now". To be more robust, the stored preference would have to be cleared on a -clean. The net savings on a 3GHz P4 / 2G RAM was 181ms for multiple warm runs. It obviously should be a tad larger for cold runs on a less performant machine.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/WorkbenchActionBuilder.java
}
         });
         */
        return menu;
    }
    /**
	 * Adds a <code>GroupMarker</code> or <code>Separator</code> to a menu.
	 * The test for whether a separator should be added is done by checking for
	 * the existence of a preference matching the string
	 * useSeparator.MENUID.GROUPID that is set to <code>true</code>.
	 * 
	 * @param menu
	 *            the menu to add to
	 * @param groupId
	 *            the group id for the added separator or group marker
	 */
	private void addSeparatorOrGroupMarker(MenuManager menu, String groupId) {
		String prefId = "useSeparator." + menu.getId() + "." + groupId; 
		boolean addExtraSeparators = IDEWorkbenchPlugin.getDefault()
				.getPreferenceStore().getBoolean(prefId);
		if (addExtraSeparators) {
			menu.add(new Separator(groupId));
		} else {
			menu.add(new GroupMarker(groupId));
		}
	}
    
    /**
     * Disposes any resources and unhooks any listeners that are no longer needed.
     * Called when the window is closed.