From 44daaf87fab28bbd5e8703a85f4cfbacc8a76666 Mon Sep 17 00:00:00 2001 From: Dmitry Ilyin Date: Tue, 3 Sep 2019 21:35:07 +0300 Subject: [PATCH] Performance fix: added capacity parameter in ArrayLists contructor when adding elements --- config/src/main/java/com/typesafe/config/impl/ConfigParser.java | 2 +- .../main/java/com/typesafe/config/impl/SimpleConfigOrigin.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/src/main/java/com/typesafe/config/impl/ConfigParser.java b/config/src/main/java/com/typesafe/config/impl/ConfigParser.java index cce54163..1e562ace 100644 --- a/config/src/main/java/com/typesafe/config/impl/ConfigParser.java +++ b/config/src/main/java/com/typesafe/config/impl/ConfigParser.java @@ -59,7 +59,7 @@ final class ConfigParser { if (flavor == ConfigSyntax.JSON) throw new ConfigException.BugOrBroken("Found a concatenation node in JSON"); - List values = new ArrayList(); + List values = new ArrayList(n.children().size()); for (AbstractConfigNode node : n.children()) { AbstractConfigValue v = null; diff --git a/config/src/main/java/com/typesafe/config/impl/SimpleConfigOrigin.java b/config/src/main/java/com/typesafe/config/impl/SimpleConfigOrigin.java index a3dc3e4d..9e05f9e9 100644 --- a/config/src/main/java/com/typesafe/config/impl/SimpleConfigOrigin.java +++ b/config/src/main/java/com/typesafe/config/impl/SimpleConfigOrigin.java @@ -364,7 +364,7 @@ final class SimpleConfigOrigin implements ConfigOrigin { Iterator i = stack.iterator(); return mergeTwo((SimpleConfigOrigin) i.next(), (SimpleConfigOrigin) i.next()); } else { - List remaining = new ArrayList(); + List remaining = new ArrayList(stack.size()); for (ConfigOrigin o : stack) { remaining.add((SimpleConfigOrigin) o); }