commit | a150fc3111f4d7922850fcfff2a835e4aad216a9 | [log] [tgz] |
---|---|---|
author | Karsten Thoms <karsten.thoms@itemis.de> | Wed Nov 13 22:34:45 2019 +0100 |
committer | Lars Vogel <Lars.Vogel@vogella.com> | Wed Jan 29 04:03:50 2020 -0500 |
tree | 2e84faa18bfb77298f8413e75fc95cf15518ca8c | |
parent | c9e5966275d49b8fd3bd9893519a1decef7a2a93 [diff] |
Bug 553022 - Optimize property handler lists for results of size 0 and 1 The CSS Engine calls RegistryCSSPropertyHandlerProvider#getCSSPropertyHandlers for each element and style property during application of theme styles. The resulting collection is normally empty or has one property handler. The method created an ArrayList for each call, which is wasting resources. With this change an empty list is used as long as no handler has to be returned. When the first handler is added a singleton list is returned. These singleton lists are cached as the amount of property handlers is limited. When a second handler is added, an ArrayList is instantiated and this and further handlers added to it. The same optimization is applied for AbstractCSSEngine#applyStyleDeclaration. Also here 'handlers2' is usually empty or contains 1 handler. As a result, invocations of these method won't produce garbage. Change-Id: I11da2e55fe451799499c2f70725ddee5308f3273 Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de>
Thanks for your interest in this project.
Platform UI provides the basic building blocks for user interfaces built with Eclipse.
Some of these form the Eclipse Rich Client Platform (RCP) and can be used for arbitrary rich client applications, while others are specific to the Eclipse IDE. The Platform UI codebase is built on top of the Eclipse Standard Widget Toolkit (SWT), which is developed as an independent project.
Website: http://www.eclipse.org/platform/ui/
For more information, refer to the Platform UI wiki page.
Contributions to Platform UI are most welcome. There are many ways to contribute, from entering high quality bug reports, to contributing code or documentation changes. For a complete guide, see the Platform UI - How to contribute wiki page page on the team wiki.
Several test plug-ins have a dependency to the Mockito and Hamcrest libraries. Please install them from the Orbit Download page]3:
Currently the following plug-ins are required:
You need Maven 3.3.1 installed. After this you can run the build via the following command:
mvn clean verify -Pbuild-individual-bundles
Information regarding source code management, builds, coding standards, and more.
Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).
This project uses Bugzilla to track ongoing development and issues.
Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!
Contact the project developers via the project's “dev” list.