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

Richard S. Hall commented on FELIX-3034:
----------------------------------------

I investigated using threads to parallelize re-loading previously cached 
bundles. It doesn't parallelize very well since the re-loading of a bundle is 
actually split into two halves: 1) opening the JAR file and reading the 
manifest and 2) parsing the manifest and creating the runtime objects.

I tried to parallelize the second half first and performance actually got 
worse. So I tried to parallelize the first half instead and performance was 
still worse. The only other possibility would be to do a bigger refactoring of 
how bundles are reloaded so we could parallelize both halves in one go. This 
was more work than I wanted to take on, especially considering it doesn't 
appear likely to show results given the previous two experiments.

> Optimize loading of bundles from cache
> --------------------------------------
>
>                 Key: FELIX-3034
>                 URL: https://issues.apache.org/jira/browse/FELIX-3034
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: framework-3.2.2
>            Reporter: Sahoo
>             Fix For: framework-4.0.0
>
>
> Profiler shows that significant time of Felix.init() is spent in IO. Since 
> bundle cache is maintained per bundle, it should be possible to have multiple 
> threads read it into memory. That might save some time. Discussed this with 
> Richard earlier on this and he suggested filing an issue to this effect.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to