You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by db...@apache.org on 2018/01/02 00:09:52 UTC

commons-imaging git commit: IMAGING-213: presize collections where possible

Repository: commons-imaging
Updated Branches:
  refs/heads/master 7862d6028 -> 51880b788


IMAGING-213: presize collections where possible


Project: http://git-wip-us.apache.org/repos/asf/commons-imaging/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-imaging/commit/51880b78
Tree: http://git-wip-us.apache.org/repos/asf/commons-imaging/tree/51880b78
Diff: http://git-wip-us.apache.org/repos/asf/commons-imaging/diff/51880b78

Branch: refs/heads/master
Commit: 51880b788df7130a1b6871559709b852379fbd8f
Parents: 7862d60
Author: Dave Brosius <db...@mebigfatguy.com>
Authored: Mon Jan 1 19:09:33 2018 -0500
Committer: Dave Brosius <db...@mebigfatguy.com>
Committed: Mon Jan 1 19:09:33 2018 -0500

----------------------------------------------------------------------
 .../apache/commons/imaging/formats/ico/IcoImageParser.java    | 2 +-
 .../apache/commons/imaging/formats/jpeg/JpegImageParser.java  | 2 +-
 .../apache/commons/imaging/formats/png/PngImageParser.java    | 7 ++++---
 .../apache/commons/imaging/formats/tiff/TiffDirectory.java    | 2 +-
 .../apache/commons/imaging/formats/tiff/TiffImageParser.java  | 2 +-
 5 files changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/51880b78/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java b/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
index 0b91778..24d1066 100644
--- a/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/ico/IcoImageParser.java
@@ -587,10 +587,10 @@ public class IcoImageParser extends ImageParser {
     @Override
     public List<BufferedImage> getAllBufferedImages(final ByteSource byteSource)
             throws ImageReadException, IOException {
-        final List<BufferedImage> result = new ArrayList<>();
         final ImageContents contents = readImage(byteSource);
 
         final FileHeader fileHeader = contents.fileHeader;
+        final List<BufferedImage> result = new ArrayList<>(fileHeader.iconCount);
         for (int i = 0; i < fileHeader.iconCount; i++) {
             final IconData iconData = contents.iconDatas[i];
 

http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/51880b78/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
index c49a739..d409f02 100644
--- a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
@@ -790,9 +790,9 @@ public class JpegImageParser extends ImageParser {
             physicalHeightInch = (float) (height / (yDensity * unitsPerInch));
         }
 
-        final List<String> comments = new ArrayList<>();
         final List<Segment> commentSegments = readSegments(byteSource,
                 new int[] { JpegConstants.COM_MARKER}, false);
+        final List<String> comments = new ArrayList<>(commentSegments.size());
         for (final Segment commentSegment : commentSegments) {
             final ComSegment comSegment = (ComSegment) commentSegment;
             String comment = "";

http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/51880b78/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
index a9ab830..a1a9ab4 100644
--- a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
@@ -111,7 +111,7 @@ public class PngImageParser extends ImageParser {
     public List<String> getChunkTypes(final InputStream is)
             throws ImageReadException, IOException {
         final List<PngChunk> chunks = readChunks(is, null, false);
-        final List<String> chunkTypes = new ArrayList<>();
+        final List<String> chunkTypes = new ArrayList<>(chunks.size());
         for (final PngChunk chunk : chunks) {
             chunkTypes.add(getChunkTypeName(chunk.chunkType));
         }
@@ -392,8 +392,9 @@ public class PngImageParser extends ImageParser {
         final List<PngChunk> zTXts = filterChunks(chunks, ChunkType.zTXt);
         final List<PngChunk> iTXts = filterChunks(chunks, ChunkType.iTXt);
 
-        final List<String> comments = new ArrayList<>();
-        final List<PngText> textChunks = new ArrayList<>();
+        int chunkCount = tEXts.size() + zTXts.size() + iTXts.size();
+        final List<String> comments = new ArrayList<>(chunkCount);
+        final List<PngText> textChunks = new ArrayList<>(chunkCount);
 
         for (final PngChunk tEXt : tEXts) {
             final PngChunkText pngChunktEXt = (PngChunkText) tEXt;

http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/51880b78/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java
index f321c28..9499096 100644
--- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java
+++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java
@@ -727,7 +727,7 @@ public class TiffDirectory extends TiffElement {
                     + ") != byteCounts.length(" + byteCounts.length + ")");
         }
 
-        final List<ImageDataElement> result = new ArrayList<>();
+        final List<ImageDataElement> result = new ArrayList<>(offsets.length);
         for (int i = 0; i < offsets.length; i++) {
             result.add(new ImageDataElement(offsets[i], byteCounts[i]));
         }

http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/51880b78/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
index d706db0..ada294c 100644
--- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
@@ -227,8 +227,8 @@ public class TiffImageParser extends ImageParser {
 
         // -------------------
 
-        final List<String> comments = new ArrayList<>();
         final List<TiffField> entries = directory.entries;
+        final List<String> comments = new ArrayList<>(entries.size());
         for (final TiffField field : entries) {
             final String comment = field.toString();
             comments.add(comment);