Isn't this code slower? It feels like we are putting memory performance
ahead of speed.

Gary
---------- Forwarded message ----------
From: <rpo...@apache.org>
Date: Nov 25, 2016 6:05 PM
Subject: logging-log4j2 git commit: LOG4J2-1684 avoid creating temp objects
To: <comm...@logging.apache.org>
Cc:

Repository: logging-log4j2
> Updated Branches:
>   refs/heads/master 561f9a4f2 -> fe4abe31d
>
>
> LOG4J2-1684 avoid creating temp objects
>
>
> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
> Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/
> commit/fe4abe31
> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/fe4abe31
> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/fe4abe31
>
> Branch: refs/heads/master
> Commit: fe4abe31d410e49adbcdf5cda79f777bf3b19926
> Parents: 561f9a4
> Author: rpopma <rpo...@apache.org>
> Authored: Sat Nov 26 11:05:49 2016 +0900
> Committer: rpopma <rpo...@apache.org>
> Committed: Sat Nov 26 11:05:49 2016 +0900
>
> ----------------------------------------------------------------------
>  .../apache/logging/log4j/message/StructuredDataMessage.java   | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> fe4abe31/log4j-api/src/main/java/org/apache/logging/log4j/
> message/StructuredDataMessage.java
> ----------------------------------------------------------------------
> diff --git 
> a/log4j-api/src/main/java/org/apache/logging/log4j/message/StructuredDataMessage.java
> b/log4j-api/src/main/java/org/apache/logging/log4j/message/
> StructuredDataMessage.java
> index 141098a..0de2920 100644
> --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/
> StructuredDataMessage.java
> +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/
> StructuredDataMessage.java
> @@ -225,8 +225,8 @@ public class StructuredDataMessage extends MapMessage
> implements StringBuilderFo
>          if (key.length() > MAX_LENGTH) {
>              throw new IllegalArgumentException("Structured data keys are
> limited to 32 characters. key: " + key);
>          }
> -        final char[] chars = key.toCharArray();
> -        for (final char c : chars) {
> +        for (int i = 0; i < key.length(); i++) {
> +            final char c = key.charAt(i);
>              if (c < '!' || c > '~' || c == '=' || c == ']' || c == '"') {
>                  throw new IllegalArgumentException("Structured data keys
> must contain printable US ASCII characters" +
>                          "and may not contain a space, =, ], or \"");
> @@ -336,7 +336,8 @@ public class StructuredDataMessage extends MapMessage
> implements StringBuilderFo
>      @Override
>      public String getFormattedMessage(final String[] formats) {
>          if (formats != null && formats.length > 0) {
> -            for (final String format : formats) {
> +            for (int i = 0; i < formats.length; i++) {
> +                final String format = formats[i];
>                  if (Format.XML.name().equalsIgnoreCase(format)) {
>                      return asXml();
>                  } else if (Format.FULL.name().equalsIgnoreCase(format)) {
>
>

Reply via email to