From de8fd9328e9deb0d1ec596d7486686ea3cb688c2 Mon Sep 17 00:00:00 2001 From: "Felix (xq) Queißner" Date: Tue, 9 Jun 2020 18:27:38 +0200 Subject: Includes cmark markdown parser library. --- lib/cmark/benchmarks.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 lib/cmark/benchmarks.md (limited to 'lib/cmark/benchmarks.md') diff --git a/lib/cmark/benchmarks.md b/lib/cmark/benchmarks.md new file mode 100644 index 0000000..ec96f6e --- /dev/null +++ b/lib/cmark/benchmarks.md @@ -0,0 +1,33 @@ +# Benchmarks + +Here are some benchmarks, run on an ancient Thinkpad running Intel +Core 2 Duo at 2GHz. The input text is a 11MB Markdown file built by +concatenating the Markdown sources of all the localizations of the +first edition of +[*Pro Git*](https://github.com/progit/progit/tree/master/en) by Scott +Chacon. + +|Implementation | Time (sec)| +|-------------------|-----------:| +| Markdown.pl | 2921.24 | +| Python markdown | 291.25 | +| PHP markdown | 20.82 | +| kramdown | 17.32 | +| cheapskate | 8.24 | +| peg-markdown | 5.45 | +| parsedown | 5.06 | +| **commonmark.js** | 2.09 | +| marked | 1.99 | +| discount | 1.85 | +| **cmark** | 0.29 | +| hoedown | 0.21 | + +To run these benchmarks, use `make bench PROG=/path/to/program`. + +`time` is used to measure execution speed. The reported +time is the *difference* between the time to run the program +with the benchmark input and the time to run it with no input. +(This procedure ensures that implementations in dynamic languages are +not penalized by startup time.) A median of ten runs is taken. The +process is reniced to a high priority so that the system doesn't +interrupt runs. -- cgit v1.2.3