You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2014/05/19 19:37:22 UTC

[2/2] git commit: avoid more System.nanoTime() calls if we're not going to use the results

avoid more System.nanoTime() calls if we're not going to use the results


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/b452c6fc
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/b452c6fc
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/b452c6fc

Branch: refs/heads/master
Commit: b452c6fcdc68c3afcf89faf5d21bd5508ea7bd25
Parents: 69844b8
Author: Jochen Kemnade <jk...@apache.org>
Authored: Mon May 19 19:35:54 2014 +0200
Committer: Jochen Kemnade <jk...@apache.org>
Committed: Mon May 19 19:35:54 2014 +0200

----------------------------------------------------------------------
 .../services/PageResponseRendererImpl.java      |  8 ++++---
 .../internal/services/RenderQueueImpl.java      | 25 +++++++++++++-------
 2 files changed, 21 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b452c6fc/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
index 4231e20..5ea88ec 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PageResponseRendererImpl.java
@@ -64,9 +64,11 @@ public class PageResponseRendererImpl implements PageResponseRenderer
         markupRenderer.renderPageMarkup(page, writer);
 
         PrintWriter pw = response.getPrintWriter(contentType.toString());
-
-        long startNanos = System.nanoTime();
-
+        long startNanos = -1l;
+        if (logger.isDebugEnabled())
+        {
+            startNanos = System.nanoTime();
+        }
         writer.toMarkup(pw);
 
         long endNanos = System.nanoTime();

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/b452c6fc/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
index 8f7bafa..bf28118 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/RenderQueueImpl.java
@@ -51,7 +51,11 @@ public class RenderQueueImpl implements RenderQueue
 
         boolean traceEnabled = logger.isTraceEnabled(TapestryMarkers.RENDER_COMMANDS);
 
-        long startNanos = System.nanoTime();
+        long startNanos = -1l;
+        if (logger.isDebugEnabled())
+        {
+            startNanos = System.nanoTime();
+        }
         int commandCount = 0;
         int maxDepth = 0;
 
@@ -81,16 +85,19 @@ public class RenderQueueImpl implements RenderQueue
             throw new RenderQueueException(message, renderingComponents.getSnapshot(), ex);
         }
 
-        long endNanos = System.nanoTime();
+        if (logger.isDebugEnabled())
+        {
+            long endNanos = System.nanoTime();
 
-        long elapsedNanos = endNanos - startNanos;
-        double elapsedSeconds = ((double) elapsedNanos) / 1000000000d;
+            long elapsedNanos = endNanos - startNanos;
+            double elapsedSeconds = ((double) elapsedNanos) / 1000000000d;
 
-        logger.debug(TapestryMarkers.RENDER_COMMANDS,
-                String.format("Executed %,d rendering commands (max queue depth: %,d) in %.3f seconds",
-                        commandCount,
-                        maxDepth,
-                        elapsedSeconds));
+            logger.debug(TapestryMarkers.RENDER_COMMANDS,
+                    String.format("Executed %,d rendering commands (max queue depth: %,d) in %.3f seconds",
+                            commandCount,
+                            maxDepth,
+                            elapsedSeconds));
+        }
     }
 
     public void startComponent(ComponentResources resources)