GitHub user vinayshankar opened a pull request:

    https://github.com/apache/karaf/pull/337

    KARAF-5314 Added a features cache that increases the performance of the 
filtering of the required features from the available features.

    The performance of the filtering logic decresed when the java streams API 
was used in 4.1 compared to for loops in 4.0. I reverted the filtering logic to 
use for loops and also introduced a features cache. This increased the 
performance by a huge margin, almost 20X faster when there are ~900 available 
features and ~300 required features in a highly complex and huge feature 
dependency tree.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/vinayshankar/karaf KARAF-5314

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/karaf/pull/337.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #337
    
----
commit 06366f5db7db26b7b4bd56bcec8d193ff4a975dd
Author: Vinay Shankar (e24113) <[email protected]>
Date:   2017-08-18T18:55:58Z

    KARAF-5314 Added a features cache that increases the performance of the 
filtering of the required features from the available features.
    
    The performance of the filtering logic decresed when the java streams API 
was used in 4.1 compared to for loops in 4.0. I reverted the filtering logic to 
use for loops and also introduced a features cache. This increased the 
performance by a huge margin, almost 20X faster when there are ~900 available 
features and ~300 required features from a highly complex and huge feature 
dependency tree.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to