Add Image Optimisations #54
Closed
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
c26b958
Benchmark adding images
thelmstedt 1d7cf35
PackageRelationshipCollection caches lookup by targetPart
thelmstedt 0fc2463
Drawing test
thelmstedt d4f01a9
PackagePartCollection optimisations
thelmstedt 12f836d
Avoid double sorting part lists
thelmstedt
Jump to file
No files found.
+3
−1
build.gradle
build.gradle
+13
−0
build.xml
build.xml
+1
−25
POIXMLDocumentPart.java
src/ooxml/java/org/apache/poi/POIXMLDocumentPart.java
+3
−7
OPCPackage.java
...ml/java/org/apache/poi/openxml4j/opc/OPCPackage.java
+33
−26
PackagePart.java
...l/java/org/apache/poi/openxml4j/opc/PackagePart.java
+38
−20
PackagePartCollection.java
.../apache/poi/openxml4j/opc/PackagePartCollection.java
+17
−19
PackageRelationshipCollection.java
...poi/openxml4j/opc/PackageRelationshipCollection.java
+3
−3
ZipPackage.java
...ml/java/org/apache/poi/openxml4j/opc/ZipPackage.java
BIN
45829.png
src/ooxml/testcases/org/apache/poi/benchmark/45829.png
+79
−0
AddImageBench.java
...estcases/org/apache/poi/benchmark/AddImageBench.java
+69
−3
TestXSSFDrawing.java
...s/org/apache/poi/xssf/usermodel/TestXSSFDrawing.java
| @@ -649,12 +649,11 @@ public PackagePart getPart(PackagePartName partName) { | ||
| */ | ||
thelmstedt
|
||
| public ArrayList<PackagePart> getPartsByContentType(String contentType) { | ||
| ArrayList<PackagePart> retArr = new ArrayList<PackagePart>(); | ||
| - for (PackagePart part : partList.values()) { | ||
| + for (PackagePart part : partList.sortedValues()) { | ||
| if (part.getContentType().equals(contentType)) { | ||
| retArr.add(part); | ||
| } | ||
| } | ||
| - Collections.sort(retArr); | ||
| return retArr; | ||
| } | ||
| @@ -697,13 +696,12 @@ public PackagePart getPart(PackagePartName partName) { | ||
| } | ||
| Matcher matcher = namePattern.matcher(""); | ||
| ArrayList<PackagePart> result = new ArrayList<PackagePart>(); | ||
| - for (PackagePart part : partList.values()) { | ||
| + for (PackagePart part : partList.sortedValues()) { | ||
| PackagePartName partName = part.getPartName(); | ||
| if (matcher.reset(partName.getName()).matches()) { | ||
| result.add(part); | ||
| } | ||
| } | ||
| - Collections.sort(result); | ||
| return result; | ||
| } | ||
| @@ -813,9 +811,7 @@ public PackagePart getPart(PackageRelationship partRel) { | ||
| } | ||
| } | ||
| } | ||
| - ArrayList<PackagePart> result = new ArrayList<PackagePart>(partList.values()); | ||
| - java.util.Collections.sort(result); | ||
| - return result; | ||
| + return new ArrayList<PackagePart>(partList.sortedValues()); | ||
| } | ||
| /** | ||
Oops, something went wrong.
I see that you started this pull request back in 2016. Have you rebased this to poi trunk (currently progressing towards 3.17 beta 1)?