From e24796173e4a62e47dc114bd2388d25d813c7b30 Mon Sep 17 00:00:00 2001 From: Julian Viereck Date: Thu, 23 Jun 2011 23:06:33 +0200 Subject: [PATCH] Replace tic & toc by console.time/timeEnd --- pdf_worker.js | 51 ++++++++++++++++++++++++------------------------ worker_client.js | 26 +++++++++++++++--------- 2 files changed, 43 insertions(+), 34 deletions(-) diff --git a/pdf_worker.js b/pdf_worker.js index 86dfec2dd..fa29428c7 100644 --- a/pdf_worker.js +++ b/pdf_worker.js @@ -3,26 +3,27 @@ "use strict"; -var timer = null; -function tic() { - timer = Date.now(); -} - -function toc(msg) { - log(msg + ": " + (Date.now() - timer) + "ms"); - timer = null; -} - -function log() { - var args = Array.prototype.slice.call(arguments); - postMessage({ - action: "log", - data: args - }); -} - +var consoleTimer = {}; var console = { - log: log + log: function log() { + var args = Array.prototype.slice.call(arguments); + postMessage({ + action: "log", + data: args + }); + }, + + time: function(name) { + consoleTimer[name] = Date.now(); + }, + + timeEnd: function(name) { + var time = consoleTimer[name]; + if (time == null) { + throw "Unkown timer name " + name; + } + this.log("Timer:", name, Date.now() - time); + } } // @@ -52,7 +53,7 @@ onmessage = function(event) { } // User requested to render a certain page. else { - tic(); + console.time("compile"); // Let's try to render the first page... var page = pdfDocument.getPage(parseInt(data)); @@ -62,9 +63,9 @@ onmessage = function(event) { var fonts = []; var gfx = new CanvasGraphics(canvas.getContext("2d"), CanvasProxy); page.compile(gfx, fonts); - toc("compiled page"); + console.timeEnd("compile"); - tic() + console.time("fonts"); // Inspect fonts and translate the missing one. var count = fonts.length; for (var i = 0; i < count; i++) { @@ -77,11 +78,11 @@ onmessage = function(event) { // This "builds" the font and sents it over to the main thread. new Font(font.name, font.file, font.properties); } - toc("fonts"); + console.timeEnd("fonts"); - tic() + console.time("display"); page.display(gfx); canvas.flush(); - toc("displayed page"); + console.timeEnd("display"); } } diff --git a/worker_client.js b/worker_client.js index c1e124693..b39374af1 100644 --- a/worker_client.js +++ b/worker_client.js @@ -3,15 +3,23 @@ "use strict"; +if (typeof console.time == "undefined") { + var consoleTimer = {}; + console.time = function(name) { + consoleTimer[name] = Date.now(); + }; + + console.timeEnd = function(name) { + var time = consoleTimer[name]; + if (time == null) { + throw "Unkown timer name " + name; + } + this.log("Timer:", name, Date.now() - time); + }; +} + function WorkerPDFDoc(canvas) { var timer = null - function tic() { - timer = Date.now(); - } - - function toc(msg) { - console.log(msg + ": " + (Date.now() - timer) + "ms"); - } this.ctx = canvas.getContext("2d"); this.canvas = canvas; @@ -203,7 +211,7 @@ function WorkerPDFDoc(canvas) { // rendering at the end of the event queue ensures this. setTimeout(function() { if (id == 0) { - tic(); + console.time("canvas rendering"); var ctx = this.ctx; ctx.save(); ctx.fillStyle = "rgb(255, 255, 255)"; @@ -211,7 +219,7 @@ function WorkerPDFDoc(canvas) { ctx.restore(); } renderProxyCanvas(canvasList[id], cmdQueue); - if (id == 0) toc("canvas rendering") + if (id == 0) console.timeEnd("canvas rendering") }, 0, this); } }