Repository: logging-log4j2
Updated Branches:
  refs/heads/master aba5c6bbb -> 0e9e33156


Rename benchmarks to preserve order.

  - Also added another benchmark for using Thread.getStackTrace() to compare 
against Throwable.getStackTrace().


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/54f5bf4e
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/54f5bf4e
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/54f5bf4e

Branch: refs/heads/master
Commit: 54f5bf4e723b61000a2de1158f34e67b9c173a16
Parents: aba5c6b
Author: Matt Sicker <mattsic...@apache.org>
Authored: Fri Sep 5 12:28:19 2014 -0500
Committer: Matt Sicker <mattsic...@apache.org>
Committed: Fri Sep 5 12:28:19 2014 -0500

----------------------------------------------------------------------
 .../log4j/perf/jmh/ReflectionBenchmark.java     | 28 +++++++++++++-------
 1 file changed, 19 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/54f5bf4e/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ReflectionBenchmark.java
----------------------------------------------------------------------
diff --git 
a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ReflectionBenchmark.java
 
b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ReflectionBenchmark.java
index 3721787..2d98f6b 100644
--- 
a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ReflectionBenchmark.java
+++ 
b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ReflectionBenchmark.java
@@ -57,46 +57,56 @@ public class ReflectionBenchmark {
     }
 
     @GenerateMicroBenchmark
-    public void testBaseline() {
+    public void baseline() {
     }
 
     @GenerateMicroBenchmark
-    public String getCallerClassNameFromStackTrace() {
+    public String test01_getCallerClassNameFromStackTrace() {
         return new Throwable().getStackTrace()[3].getClassName();
     }
 
     @GenerateMicroBenchmark
-    public String getCallerClassNameReflectively() {
+    public String test02_getCallerClassNameFromThreadStackTrace() {
+        return Thread.currentThread().getStackTrace()[3].getClassName();
+    }
+
+    @GenerateMicroBenchmark
+    public String test03_getCallerClassNameReflectively() {
         return ReflectiveCallerClassUtility.getCaller(3).getName();
     }
 
     @GenerateMicroBenchmark
-    public String getCallerClassNameSunReflection() {
+    public String test04_getCallerClassNameSunReflection() {
         return Reflection.getCallerClass(3).getName();
     }
 
     @GenerateMicroBenchmark
-    public Class<?> getStackTraceClassForClassName() throws 
ClassNotFoundException {
+    public Class<?> test05_getStackTraceClassForClassName() throws 
ClassNotFoundException {
         return Class.forName(new 
Throwable().getStackTrace()[3].getClassName());
     }
 
     @GenerateMicroBenchmark
-    public Class<?> getReflectiveCallerClassUtility() {
+    public Class<?> test06_getThreadStackTraceClassForClassName() throws 
ClassNotFoundException {
+        return 
Class.forName(Thread.currentThread().getStackTrace()[3].getClassName());
+    }
+
+    @GenerateMicroBenchmark
+    public Class<?> test07_getReflectiveCallerClassUtility() {
         return ReflectiveCallerClassUtility.getCaller(3);
     }
 
     @GenerateMicroBenchmark
-    public Class<?> getDirectSunReflection() {
+    public Class<?> test08_getDirectSunReflection() {
         return Reflection.getCallerClass(3);
     }
 
     @GenerateMicroBenchmark
-    public Message getMessageUsingNew(final RandomInteger rng) {
+    public Message test09_getMessageUsingNew(final RandomInteger rng) {
         return new StringFormattedMessage("Hello %i", rng.random);
     }
 
     @GenerateMicroBenchmark
-    public Message getMessageUsingReflection(final RandomInteger rng)
+    public Message test10_getMessageUsingReflection(final RandomInteger rng)
         throws NoSuchMethodException, IllegalAccessException, 
InvocationTargetException, InstantiationException {
         final Constructor<? extends Message> constructor = 
StringFormattedMessage.class.getConstructor(String.class,
             Object[].class);

Reply via email to