diff --git a/bench/snippets/markdown.mjs b/bench/snippets/markdown.mjs index 406642f7bd..fbc9bf3ad8 100644 --- a/bench/snippets/markdown.mjs +++ b/bench/snippets/markdown.mjs @@ -69,12 +69,44 @@ Some final paragraph with ~~strikethrough~~ text and more **formatting**. const large = medium.repeat(20); +const renderCallbacks = { + heading: (children, { level }) => `${children}`, + paragraph: children => `

${children}

`, + strong: children => `${children}`, + emphasis: children => `${children}`, + codespan: children => `${children}`, + code: (children, { language }) => + language + ? `
${children}
` + : `
${children}
`, + link: (children, { href, title }) => + title ? `${children}` : `${children}`, + image: (children, { src, title }) => + title ? `${children}` : `${children}`, + list: (children, { ordered, start }) => (ordered ? `
    ${children}
` : ``), + listItem: children => `
  • ${children}
  • `, + blockquote: children => `
    ${children}
    `, + hr: () => `
    `, + strikethrough: children => `${children}`, + table: children => `${children}
    `, + thead: children => `${children}`, + tbody: children => `${children}`, + tr: children => `${children}`, + th: children => `${children}`, + td: children => `${children}`, +}; + summary(() => { - if (typeof Bun !== "undefined" && Bun.markdown) - bench(`small (${small.length} chars) - Bun.markdown`, () => { + if (typeof Bun !== "undefined" && Bun.markdown) { + bench(`small (${small.length} chars) - Bun.markdown.html`, () => { return Bun.markdown.html(small); }); + bench(`small (${small.length} chars) - Bun.markdown.render`, () => { + return Bun.markdown.render(small, renderCallbacks); + }); + } + bench(`small (${small.length} chars) - marked`, () => { return marked(small); }); @@ -85,11 +117,16 @@ summary(() => { }); summary(() => { - if (typeof Bun !== "undefined" && Bun.markdown) - bench(`medium (${medium.length} chars) - Bun.markdown`, () => { + if (typeof Bun !== "undefined" && Bun.markdown) { + bench(`medium (${medium.length} chars) - Bun.markdown.html`, () => { return Bun.markdown.html(medium); }); + bench(`medium (${medium.length} chars) - Bun.markdown.render`, () => { + return Bun.markdown.render(medium, renderCallbacks); + }); + } + bench(`medium (${medium.length} chars) - marked`, () => { return marked(medium); }); @@ -100,11 +137,16 @@ summary(() => { }); summary(() => { - if (typeof Bun !== "undefined" && Bun.markdown) - bench(`large (${large.length} chars) - Bun.markdown`, () => { + if (typeof Bun !== "undefined" && Bun.markdown) { + bench(`large (${large.length} chars) - Bun.markdown.html`, () => { return Bun.markdown.html(large); }); + bench(`large (${large.length} chars) - Bun.markdown.render`, () => { + return Bun.markdown.render(large, renderCallbacks); + }); + } + bench(`large (${large.length} chars) - marked`, () => { return marked(large); });