diff options
author | John MacFarlane <fiddlosopher@gmail.com> | 2014-11-17 17:57:23 -0800 |
---|---|---|
committer | John MacFarlane <fiddlosopher@gmail.com> | 2014-11-17 17:58:13 -0800 |
commit | 05d730a32b47ae3343479b35eb4a1d3448a5fc13 (patch) | |
tree | cd06bec7b5ca0792c6dad8151be35cacfb8d8573 | |
parent | 0655c79138d3115f12b08fb4d38d164c3b8482eb (diff) |
Put benchmarks in separate benchmarks.md file.
-rw-r--r-- | README.md | 18 | ||||
-rw-r--r-- | benchmarks.md | 23 |
2 files changed, 24 insertions, 17 deletions
@@ -13,23 +13,7 @@ The implementations The C implementation provides both a shared library (`libcmark`) and a standalone program `cmark` that converts CommonMark to HTML. It is written in standard C99 and has no library dependencies. The parser is -very fast, on par with [sundown](https://github.com/vmg/sundown). Some -benchmarks (on an ancient Thinkpad running Intel Core 2 Duo at 2GHz, -measured using `time` and parsing a ~500K book, the English version of -the 1st edition of -[*Pro Git*](https://github.com/progit/progit/tree/master/en) by Scott -Chacon): - -|Implementation | Time | Factor| -|---------------|-------|--------| -| Markdown.pl | 5.162s| 286.8| -| PHP Markdown | 1.021s| 56.7| -| commonmark.js | 0.292s| 16.2| -| peg-markdown | 0.279s| 15.5| -| marked | 0.239s| 13.3| -| discount | 0.090s| 5.0| -| **cmark** | 0.020s| 1.1| -| sundown | 0.018s| 1.0| +very fast (see [benchmarks](benchmarks.md)). It is easy to use `libcmark` in python or ruby code: see `wrapper.py` and `wrapper.rb` in the repository for simple examples. diff --git a/benchmarks.md b/benchmarks.md new file mode 100644 index 0000000..9a079c9 --- /dev/null +++ b/benchmarks.md @@ -0,0 +1,23 @@ +# Benchmarks + +Some benchmarks, run on an ancient Thinkpad running Intel Core 2 Duo at 2GHz. + +|Implementation | Time (sec)| Factor| +|---------------|------------|-------| +| Markdown.pl | 2921.30 | 14606 | +| PHP markdown | 20.475 | 102.4 | +| peg-markdown | 5.330 | 26.7 | +| commonmark.js | 2.730 | 13.6 | +| marked | 1.870 | 9.4 | +| discount | 1.660 | 8.3 | +| cmark | 0.290 | 1.4 | +| sundown | 0.200 | 1.0 | + +To run these benchmarks, use `make bench PROG=/path/to/program`. + +The input text is a 10MB Markdown file built by concatenating 20 copies +of the Markdown source of the first edition of [*Pro +Git*](https://github.com/progit/progit/tree/master/en) by Scott Chacon. + +`time` is used to measure execution speed. + |