From de724063f38590b9009703a0ba33683e8f9b0367 Mon Sep 17 00:00:00 2001 From: Trustin Lee Date: Tue, 12 Aug 2014 10:36:13 -0700 Subject: [PATCH] Reduce the initial capacity of the value list from 4 to 2 Motivation: DefaultTextHeaders.getAll*() methods create an ArrayList whose initial capacity is 4. However, it is more likely that the actual number of values is smaller than that. Modifications: Reduce the initial capacity of the value list from 4 to 2 Result: Slightly reduced memory footprint --- .../java/io/netty/handler/codec/DefaultTextHeaders.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/codec/src/main/java/io/netty/handler/codec/DefaultTextHeaders.java b/codec/src/main/java/io/netty/handler/codec/DefaultTextHeaders.java index a6d3504d77..64fa6010bc 100644 --- a/codec/src/main/java/io/netty/handler/codec/DefaultTextHeaders.java +++ b/codec/src/main/java/io/netty/handler/codec/DefaultTextHeaders.java @@ -39,6 +39,7 @@ import java.util.TimeZone; public class DefaultTextHeaders implements TextHeaders { + private static final int INITIAL_VALUELIST_CAPACITY = 2; private static final int BUCKET_SIZE = 17; private static int index(int hash) { @@ -617,7 +618,7 @@ public class DefaultTextHeaders implements TextHeaders { throw new NullPointerException("name"); } - List values = new ArrayList(4); + List values = new ArrayList(INITIAL_VALUELIST_CAPACITY); int h = hashCode(name); int i = index(h); HeaderEntry e = entries[i]; @@ -638,7 +639,7 @@ public class DefaultTextHeaders implements TextHeaders { throw new NullPointerException("name"); } - List values = new ArrayList(4); + List values = new ArrayList(INITIAL_VALUELIST_CAPACITY); int h = hashCode(name); int i = index(h); HeaderEntry e = entries[i]; @@ -665,7 +666,7 @@ public class DefaultTextHeaders implements TextHeaders { return null; } - List values = new ArrayList(4); + List values = new ArrayList(INITIAL_VALUELIST_CAPACITY); for (;;) { if (e.hash == h && nameEquals(e.name, name)) { values.add(e.getValue().toString()); @@ -714,7 +715,7 @@ public class DefaultTextHeaders implements TextHeaders { return null; } - List values = new ArrayList(4); + List values = new ArrayList(INITIAL_VALUELIST_CAPACITY); for (;;) { if (e.hash == h && nameEquals(e.name, name)) { values.add(e.getValue());