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);
}