From 571f5ceb09730208edcf8abb19444ed24432c337 Mon Sep 17 00:00:00 2001 From: Rasmus Andersson Date: Wed, 30 Jun 2021 19:27:00 -0700 Subject: [PATCH] improve example benchmark --- example/example.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/example/example.js b/example/example.js index 4b41b6e..6aede5a 100644 --- a/example/example.js +++ b/example/example.js @@ -18,18 +18,32 @@ console.log(fs.readFileSync(outfile, "utf8")) // mini benchmark if (process.argv.includes("-bench")) { - console.log("benchmark start (sampling ~2s of data)") + benchmark("bytes", { + bytes: true, + }) + benchmark("bytes + onCodeBlock", { + bytes: true, + onCodeBlock(lang, body) { + return null // causes the body to be HTML-escaped & included as is + }, + }) +} + +function benchmark(name, options) { + console.log(`benchmark start ${name} (sampling ~2s of data)`) const timeStart = Date.now() const N = 1000, T = 2000 let ntotal = 0 while (Date.now() - timeStart < 2000) { for (let i = 0; i < N; i++) { - global["dont-optimize-away"] = md.parse(source, { bytes: true }) + global["dont-optimize-away"] = md.parse(source, options) } ntotal += N } const timeSpent = Date.now() - timeStart - console.log(`benchmark end -- avg parse time: ${((timeSpent / ntotal) * 1000).toFixed(1)}us`) + console.log( + `benchmark end ${name} -- avg parse time: ` + + `${((timeSpent / ntotal) * 1000).toFixed(1)}us`) } function html_escape(str) {