Bug 550644 - Remove redundant contains check in
InjectorImpl#processMethods

InjectorImpl#processMethods performs a contains check followed by a get.
As isOverriddenCache does not contain null elements, this check is
redundant.

Some logic applied for isOverriddenCache and methodMap

Manual measurement (see Bug 550208 for missing automatic way of
measuring that) with 5 times started (after two warmups) shows approx.
3.1 % performance improvement.

Old Code:

Application started in : 8919ms
Application started in : 8793ms
Application started in : 8799ms
Application started in : 8581ms
Application started in : 8764ms

Average: 8771,2


With change:
Application started in : 8801ms
Application started in : 8363ms
Application started in : 8246ms
Application started in : 8770ms
Application started in : 8335ms

Average: 8503

Also yourkit shows an improvement of approx. 635ms.


Change-Id: Id5a535899f0b1a7299332c2b5a3c82bd9c3087a5
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
1 file changed
tree: 655781978c99a80c5ae2818644b46f965d23cce6
  1. bundles/
  2. features/
  3. tests/
  4. .gitignore
  5. CONTRIBUTING
  6. CONTRIBUTING.md
  7. LICENSE
  8. NOTICE
  9. pom.xml
  10. README.md
README.md

Contributing to Eclipse Platform runtime project

Thanks for your interest in this project.

Project description:

Platform runtime provides the background componentns for Eclipse based applications.

Website: https://projects.eclipse.org/projects/eclipse.platform

For more information, refer to the Platform UI wiki page.

How to contribute:

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.

Test dependencies

Several test plug-ins have a dependency to the Mockito and Hamcrest library. Please install them from the Orbit Download page

Currently the following versions are required:

  • org.hamcrest;bundle-version=“1.3.0”,
  • org.mockito;bundle-version=“2.13”,

How to build on the command line

You need Maven 3.3.1 installed. After this you can run the build via the following command:

mvn clean verify -Pbuild-individual-bundles

Developer resources:

Information regarding source code management, builds, coding standards, and more.

Contributor License Agreement:

Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).

Search for bugs:

This project uses Bugzilla to track ongoing development and issues.

Create a new bug:

Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!

Contact:

Contact the project developers via the project's “dev” list.

License

Eclipse Public License (EPL) 2.0