[ 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)