You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2016/04/18 13:38:20 UTC
[34/50] logging-log4j2 git commit: Use Java 7 diamonds.
Use Java 7 diamonds.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/a6c32c51
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/a6c32c51
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/a6c32c51
Branch: refs/heads/LOG4J2-1365
Commit: a6c32c5166db9bf7efc56ff34005511360715c7b
Parents: f275612
Author: ggregory <gg...@apache.org>
Authored: Sun Apr 17 16:39:39 2016 -0700
Committer: ggregory <gg...@apache.org>
Committed: Sun Apr 17 16:39:39 2016 -0700
----------------------------------------------------------------------
.../log4j/perf/jmh/LoggerConfigBenchmark.java | 2 +-
...ThreadLocalVsConcurrentHashMapBenchmark.java | 186 +++++++++----------
2 files changed, 94 insertions(+), 94 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a6c32c51/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/LoggerConfigBenchmark.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/LoggerConfigBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/LoggerConfigBenchmark.java
index 161d4d1..0321b04 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/LoggerConfigBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/LoggerConfigBenchmark.java
@@ -51,7 +51,7 @@ import org.openjdk.jmh.infra.Blackhole;
@State(Scope.Benchmark)
public class LoggerConfigBenchmark {
- private final CopyOnWriteArraySet<AppenderControl> appenderSet = new CopyOnWriteArraySet<AppenderControl>();
+ private final CopyOnWriteArraySet<AppenderControl> appenderSet = new CopyOnWriteArraySet<>();
private volatile Filter filter = null;
private final boolean additive = true;
private final boolean includeLocation = true;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a6c32c51/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadLocalVsConcurrentHashMapBenchmark.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadLocalVsConcurrentHashMapBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadLocalVsConcurrentHashMapBenchmark.java
index 7ba0ca4..7d1ccc9 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadLocalVsConcurrentHashMapBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadLocalVsConcurrentHashMapBenchmark.java
@@ -1,94 +1,94 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache license, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the license for the specific language governing permissions and
- * limitations under the license.
- */
-
-package org.apache.logging.log4j.perf.jmh;
-
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.openjdk.jmh.annotations.Benchmark;
-import org.openjdk.jmh.annotations.Scope;
-import org.openjdk.jmh.annotations.State;
-
-/**
- * Compares performance of ThreadLocal, vs ConcurrentHashMap<Thread, Object>.
- */
-// ============================== HOW TO RUN THIS TEST: ====================================
-// (Quick build: mvn -DskipTests=true clean package -pl log4j-perf -am )
-//
-// single thread:
-// java -jar log4j-perf/target/benchmarks.jar ".*ThreadLocalVsConcurrentHashMap.*" -f 1 -wi 10 -i 20 -tu ns -bm sample
-//
-// four threads:
-// java -jar log4j-perf/target/benchmarks.jar ".*ThreadLocalVsConcurrentHashMap.*" -f 1 -wi 10 -i 20 -tu ns -bm sample
-// -t 4
-//
-// Usage help:
-// java -jar log4j-perf/target/benchmarks.jar -help
-//
-@State(Scope.Benchmark)
-public class ThreadLocalVsConcurrentHashMapBenchmark {
-
- private static final String VALUE = "value";
- private static ConcurrentHashMap<Thread, StringBuilder> map = new ConcurrentHashMap<Thread, StringBuilder>();
- private static ThreadLocal<StringBuilder> threadLocal = new ThreadLocal<>();
-
- @Benchmark
- public String newInstance() {
- StringBuilder sb = getNew();
- sb.append(VALUE);
- return sb.toString();
- }
-
- @Benchmark
- public String threadLocal() {
- StringBuilder sb = getThreadLocal();
- sb.append(VALUE);
- return sb.toString();
- }
-
- @Benchmark
- public String concurrentHashMap() {
- StringBuilder sb = getConcurrentMap();
- sb.append(VALUE);
- return sb.toString();
- }
-
- private StringBuilder getNew() {
- final StringBuilder buf = new StringBuilder();
- return buf;
- }
-
- private StringBuilder getThreadLocal() {
- StringBuilder buf = threadLocal.get();
- if (buf == null) {
- buf = new StringBuilder();
- threadLocal.set(buf);
- }
- buf.setLength(0);
- return buf;
- }
-
- private StringBuilder getConcurrentMap() {
- StringBuilder buf = map.get(Thread.currentThread());
- if (buf == null) {
- buf = new StringBuilder();
- map.put(Thread.currentThread(), buf);
- }
- buf.setLength(0);
- return buf;
- }
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+
+package org.apache.logging.log4j.perf.jmh;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.openjdk.jmh.annotations.Benchmark;
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.State;
+
+/**
+ * Compares performance of ThreadLocal, vs ConcurrentHashMap<Thread, Object>.
+ */
+// ============================== HOW TO RUN THIS TEST: ====================================
+// (Quick build: mvn -DskipTests=true clean package -pl log4j-perf -am )
+//
+// single thread:
+// java -jar log4j-perf/target/benchmarks.jar ".*ThreadLocalVsConcurrentHashMap.*" -f 1 -wi 10 -i 20 -tu ns -bm sample
+//
+// four threads:
+// java -jar log4j-perf/target/benchmarks.jar ".*ThreadLocalVsConcurrentHashMap.*" -f 1 -wi 10 -i 20 -tu ns -bm sample
+// -t 4
+//
+// Usage help:
+// java -jar log4j-perf/target/benchmarks.jar -help
+//
+@State(Scope.Benchmark)
+public class ThreadLocalVsConcurrentHashMapBenchmark {
+
+ private static final String VALUE = "value";
+ private static ConcurrentHashMap<Thread, StringBuilder> map = new ConcurrentHashMap<>();
+ private static ThreadLocal<StringBuilder> threadLocal = new ThreadLocal<>();
+
+ @Benchmark
+ public String newInstance() {
+ StringBuilder sb = getNew();
+ sb.append(VALUE);
+ return sb.toString();
+ }
+
+ @Benchmark
+ public String threadLocal() {
+ StringBuilder sb = getThreadLocal();
+ sb.append(VALUE);
+ return sb.toString();
+ }
+
+ @Benchmark
+ public String concurrentHashMap() {
+ StringBuilder sb = getConcurrentMap();
+ sb.append(VALUE);
+ return sb.toString();
+ }
+
+ private StringBuilder getNew() {
+ final StringBuilder buf = new StringBuilder();
+ return buf;
+ }
+
+ private StringBuilder getThreadLocal() {
+ StringBuilder buf = threadLocal.get();
+ if (buf == null) {
+ buf = new StringBuilder();
+ threadLocal.set(buf);
+ }
+ buf.setLength(0);
+ return buf;
+ }
+
+ private StringBuilder getConcurrentMap() {
+ StringBuilder buf = map.get(Thread.currentThread());
+ if (buf == null) {
+ buf = new StringBuilder();
+ map.put(Thread.currentThread(), buf);
+ }
+ buf.setLength(0);
+ return buf;
+ }
}
\ No newline at end of file