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) {