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 <jkemn...@apache.org> Authored: Mon May 19 19:35:54 2014 +0200 Committer: Jochen Kemnade <jkemn...@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)