Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
PDE/4.4TargetChanges
Changes relating to bug 283731 - [target] Remove target state dependence on preferences
Changes made:
- Improved tracing, no more cache option, new modeloption, displays model creation time
- Deprecated all target platform preferences from ICoreConstants (internal)
- Deprecated TARGET_CHANGED and ENVIRONMENT_CHANGED from IModelProviderEvents (API)
- PDEState is no longer cached (<100 ms performance hit for standard platform, >200ms gain for large target)
- Changing target platforms now does not do a removal/add/reset, instead all content is reset
- TargetPlatformService now holds on to a resolved target definition for fast lookups
- p2 target locations are not marked as dirty on creation avoiding pinging remote sites
Still to finish:
- Look at performance bottlenecks (see below)
- How to recover from cancelled job
- Look at ways to delay any p2 operation that is long running unless user can cancel
- Provide progress reporting when loading models in wizard or preference page
- Better recognize when target content on disk has changed
- Can feature loading even happen first?
Performance impacts:
- Removing state caching improves performance for larger targets (1000+), slight hit for smaller targets (500-)
- Model creation is about 100ms longer to resolve target platform
- 100ms from above could be gained back by not reading the manifest files 2 (or 3 times)
- p2 targets are very fast if everything is downloaded, any missing files cause long running operations
- p2 targets were changed to not ping remote sites on creation