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 ? `
` : `
`,
+ list: (children, { ordered, start }) => (ordered ? `${children}
` : ``),
+ listItem: children => `${children}`,
+ blockquote: children => `${children}
`,
+ hr: () => `
`,
+ strikethrough: children => `${children}`,
+ table: 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);
});