This is an automated email from the ASF dual-hosted git repository.

amccright pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git


The following commit(s) were added to refs/heads/master by this push:
     new e62f626  Perf: Avoid map resize w/ initialSize and factor
     new cb60a4d  Merge pull request #696 from andymc12/perfChanges
e62f626 is described below

commit e62f626ae1274157400b49490bffb242757b6577
Author: Andy McCright <[email protected]>
AuthorDate: Fri Sep 18 16:26:11 2020 -0500

    Perf: Avoid map resize w/ initialSize and factor
    
    Signed-off-by: Andy McCright <[email protected]>
---
 .../java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java   | 2 +-
 core/src/main/java/org/apache/cxf/message/MessageImpl.java           | 5 +++++
 core/src/main/java/org/apache/cxf/message/StringMapImpl.java         | 5 +++++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git 
a/core/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java 
b/core/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java
index ae56e6c..6ccc6e0 100644
--- 
a/core/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java
+++ 
b/core/src/main/java/org/apache/cxf/interceptor/ServiceInvokerInterceptor.java
@@ -62,7 +62,7 @@ public class ServiceInvokerInterceptor extends 
AbstractPhaseInterceptor<Message>
 
                     Message outMessage = runableEx.getOutMessage();
                     if (outMessage == null) {
-                        outMessage = new MessageImpl();
+                        outMessage = new MessageImpl(16, 1); // perf: size 16 
/ factor 1 to avoid resize operation
                         outMessage.setExchange(exchange);
                         outMessage = ep.getBinding().createMessage(outMessage);
                         exchange.setOutMessage(outMessage);
diff --git a/core/src/main/java/org/apache/cxf/message/MessageImpl.java 
b/core/src/main/java/org/apache/cxf/message/MessageImpl.java
index fcb45c0..18f1b73 100644
--- a/core/src/main/java/org/apache/cxf/message/MessageImpl.java
+++ b/core/src/main/java/org/apache/cxf/message/MessageImpl.java
@@ -51,6 +51,11 @@ public class MessageImpl extends StringMapImpl implements 
Message {
     public MessageImpl() {
         //nothing
     }
+
+    public MessageImpl(int initialSize, float factor) {
+        super(initialSize, factor);
+    }
+
     public MessageImpl(Message m) {
         super(m);
         if (m instanceof MessageImpl) {
diff --git a/core/src/main/java/org/apache/cxf/message/StringMapImpl.java 
b/core/src/main/java/org/apache/cxf/message/StringMapImpl.java
index 7916224..8da1e52 100644
--- a/core/src/main/java/org/apache/cxf/message/StringMapImpl.java
+++ b/core/src/main/java/org/apache/cxf/message/StringMapImpl.java
@@ -34,6 +34,11 @@ public class StringMapImpl
 
     public StringMapImpl() {
     }
+
+    public StringMapImpl(int initialSize, float factor) {
+        super(initialSize, factor);
+    }
+
     public StringMapImpl(Map<String, Object> i) {
         super(i);
     }

Reply via email to