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

Zhang Di commented on COMPRESS-702:
-----------------------------------

Hi Gary

I have identified the issue and fixed it. For details, please refer to:[ 
https://github.com/apache/commons-compress/pull/681|http://example.com]

> performance issue found when using SevenZFile
> ---------------------------------------------
>
>                 Key: COMPRESS-702
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-702
>             Project: Commons Compress
>          Issue Type: Bug
>          Components: Archivers, Compressors
>    Affects Versions: 1.27.1
>            Reporter: Zhang Di
>            Priority: Major
>
> I found a performance issue after upgrading commons-compress from version 
> 1.26.1 to 1.27.1.
> Here are some details:
> {*}Issue Method{*}:
> SevenZFile.java
> public InputStream getInputStream(final SevenZArchiveEntry entry)throws 
> IOException
> {*}Test Case{*}:
> ```java
> public static void main(String[] args) {
>     try(SevenZFile SevenZFile = new SevenZFile(new File("D:\\xxx.7z"))) {
>         byte[] buffer = new byte[8192];
>         SevenZArchiveEntry entry;
>         while((entry = SevenZFile.getNextEntry())!=null){
>             if(entry.isDirectory()){
>                 continue;
>             }
>             InputStream inputStream = SevenZFile.getInputStream(entry);
>             File outputFile = new File("D:\\7ztest\\" + entry.getName());
>             if(!outputFile.getParentFile().exists()){
>                 outputFile.getParentFile().mkdirs();
>             }
>             try(FileOutputStream fos = new FileOutputStream(outputFile)){
>                 while(inputStream.read(buffer>0)){
>                     fos.write(buffer);
>                 }
>             }catch(FileNotFoundException e){
>                 e.printStackTrace();
>             }catch(IOException e){
>                 e.printStackTrace();
>             }
>         }
>     } catch (Exception e) {
>     }
> }
> ```
> I tested this case on 1.26.1 and it cost about 900 ms , while on the other 
> hand it cost 120,000 ms on 1.27.1. I am trying to figure out the cause, but 
> still can not find a clue.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to