You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2016/04/26 06:30:59 UTC

[03/34] logging-log4j2 git commit: javadoc

javadoc


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

Branch: refs/heads/LOG4j2-494
Commit: 9159e84675699923505cecd11399f4f9bcad73eb
Parents: 287d2c6
Author: rpopma <rp...@apache.org>
Authored: Thu Apr 21 14:22:02 2016 +0900
Committer: Ralph Goers <rg...@nextiva.com>
Committed: Mon Apr 25 21:30:27 2016 -0700

----------------------------------------------------------------------
 .../log4j/core/async/perftest/IdleStrategy.java | 24 +-------------------
 .../core/async/perftest/NoOpIdleStrategy.java   |  7 ++++--
 2 files changed, 6 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9159e846/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/IdleStrategy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/IdleStrategy.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/IdleStrategy.java
index eca115c..65b97df 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/IdleStrategy.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/IdleStrategy.java
@@ -19,11 +19,6 @@ package org.apache.logging.log4j.core.async.perftest;
 /**
  * Idle strategy for use by threads when they do not have work to do.
  *
- * <h3>Note regarding implementor state</h3>
- *
- * Some implementations are known to be stateful, please note that you cannot safely assume implementations to be stateless.
- * Where implementations are stateful it is recommended that implementation state is padded to avoid false sharing.
- *
  * <h3>Note regarding potential for TTSP(Time To Safe Point) issues</h3>
  *
  * If the caller spins in a 'counted' loop, and the implementation does not include a a safepoint poll this may cause a TTSP
@@ -36,24 +31,7 @@ package org.apache.logging.log4j.core.async.perftest;
  */
 interface IdleStrategy {
     /**
-     * Perform current idle action (e.g. nothing/yield/sleep). To be used in conjunction with {@link IdleStrategy#reset()}
-     * to clear internal state when idle period is over (or before it begins). Callers are expected to follow this pattern:
-     *
-     * <pre>
-     * <code>while (isRunning) {
-     *   if (!hasWork()) {
-     *     idleStrategy.reset();
-     *     while (!hasWork()) {
-     *       if (!isRunning) {
-     *         return;
-     *       }
-     *       idleStrategy.idle();
-     *     }
-     *   }
-     *   doWork();
-     * }
-     * </code>
-     * </pre>
+     * Perform current idle action (e.g. nothing/yield/sleep).
      */
     void idle();
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9159e846/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/NoOpIdleStrategy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/NoOpIdleStrategy.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/NoOpIdleStrategy.java
index ad5d280..6bce312 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/NoOpIdleStrategy.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/NoOpIdleStrategy.java
@@ -17,8 +17,11 @@
 package org.apache.logging.log4j.core.async.perftest;
 
 /**
- * Low-latency idle strategy to be employed in loops that do significant work on each iteration such that any work in the
- * idle strategy would be wasteful.
+ * No operation idle strategy.
+ * <p>
+ * This idle strategy should be prevented from being inlined by using a Hotspot compiler command as a JVM argument e.g:
+ * <code>-XX:CompileCommand=dontinline,org.apache.logging.log4j.core.async.perftest.NoOpIdleStrategy::idle</code>
+ * </p>
  */
 class NoOpIdleStrategy implements IdleStrategy {