karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KARAF-5314) The performance of profile builder used by karaf maven plugin has reduced significantly in 4.1 compared to 4.0
Date Mon, 21 Aug 2017 08:26:00 GMT

    [ https://issues.apache.org/jira/browse/KARAF-5314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16134865#comment-16134865
] 

ASF subversion and git services commented on KARAF-5314:
--------------------------------------------------------

Commit 3cbd810ea37e837950f1f8427f793c878423ba7a in karaf's branch refs/heads/master from Vinay
Shankar (e24113)
[ https://git-wip-us.apache.org/repos/asf?p=karaf.git;h=3cbd810 ]

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.


> The performance of profile builder used by karaf maven plugin has reduced significantly
in 4.1 compared to 4.0
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: KARAF-5314
>                 URL: https://issues.apache.org/jira/browse/KARAF-5314
>             Project: Karaf
>          Issue Type: Bug
>            Reporter: Vinay Shankar
>             Fix For: 4.1.3
>
>
> The performance of profile builder used by karaf maven plugin has reduced significantly
in 4.1 compared to 4.0. 
> The java streams API is being used in 4.1 to filter our the required features from the
set of all features present in the repositories that are part of the profile. This is done
in the "addFeatures" method in the "Builder.java" class in the "org.apache.karaf.profile.core"
bundle. This change (from 4.0) has drastically reduced the performance. For a profile with
~900 features in all the repositories in the profile and ~300 required features from a highly
complex feature dependency tree, this function is taking around 13min to complete. The same
execution took around 3-5min in 4.0 (where simple for loops were being used). 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message