You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Zhang Di (Jira)" <ji...@apache.org> on 2025/07/28 08:39:00 UTC
[jira] [Created] (COMPRESS-702) performance issue found when using SevenZFile
Zhang Di created COMPRESS-702:
---------------------------------
Summary: 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
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)