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

John Ross commented on ARIES-1565:
----------------------------------

I'm extremely hesitant to replace the current FileSystem implementation. It's 
been around a long time and is used by many, if not all, of the other projects. 
At the very least, it's a change that would require a consensus and need some 
time to breathe. I'm also not sure if we would want to completely replace the 
existing behavior of reading from the ZipInputStream with always extracting the 
ZIP and reading it as a directory. We would probably want the latter as an 
option with the current behavior left as the default.

We could embed the behavior in Subsystems itself, but I'm also hesitant to move 
Subsystems even further away from common utilities. If this is a performance 
issue in Util, I would like to fix it there.

I'll note two existing technical issues with the proposed change. First, I 
don't believe it's cleaning up the extracted temp files. The call to 
tempFile.delete() would be against a directory which will not be deleted unless 
it's empty. Second, code for Util and Subsystems must compile against 1.6.

I'm very surprised there was no noticeable difference in performance assuming 
1565.patch took and is doing what's expected. It would be good to understand 
exactly where the improvement in the proposed change is coming from if not from 
avoiding reopening the input stream with each getEntry. Can you offer a test 
case that showcases the improvements (before and after) so that we can collect 
some profiling data?

> Performance Improvement: unpack subsystem artifacts to tmp folder to avoid 
> directly reading from zip archive
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: ARIES-1565
>                 URL: https://issues.apache.org/jira/browse/ARIES-1565
>             Project: Aries
>          Issue Type: Improvement
>          Components: Subsystem, Util
>    Affects Versions: subsystem-2.0.8, util-1.1.2
>            Reporter: Wouter Bancken
>         Attachments: 1565.patch
>
>
> h4. Description
> Aries copies ESA archives to a temporary zip file during the installation 
> phase. Afterwards, bundles are read directly from this temporary zip which 
> has a large impact on the startup performance of Aries applications. By 
> unpacking the esa artifact into the temporary folder it is unpacked only 
> once. Subsequent reads for the bundles (jars) can be read directly from the 
> folder. 
> h4. Pull request
> https://github.com/apache/aries/compare/subsystem-2.0.x...WouterBanckenACA:io_performance_optimalisation?expand=1
> h4. Mailinglist
> http://mail-archives.apache.org/mod_mbox/aries-user/201606.mbox/%3CCAL5nZgTq5FxDvURJbzcEZ9YHx6vTs3HAOuFYDYA3ec9OZbmwjA%40mail.gmail.com%3E



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to