summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <fiddlosopher@gmail.com>2014-11-17 17:57:23 -0800
committerJohn MacFarlane <fiddlosopher@gmail.com>2014-11-17 17:58:13 -0800
commit05d730a32b47ae3343479b35eb4a1d3448a5fc13 (patch)
treecd06bec7b5ca0792c6dad8151be35cacfb8d8573
parent0655c79138d3115f12b08fb4d38d164c3b8482eb (diff)
Put benchmarks in separate benchmarks.md file.
-rw-r--r--README.md18
-rw-r--r--benchmarks.md23
2 files changed, 24 insertions, 17 deletions
diff --git a/README.md b/README.md
index 8edc1a8..386a1f4 100644
--- a/README.md
+++ b/README.md
@@ -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.
+