Skip to content

venetucci/markdown-benchmarks

 
 

Repository files navigation

markdown-benchmarks

Testing performance of the popular markdown libraries:

Running benchmarks:

git clone git@github.com:commonmark/cmark.git
mkdir -p cmark/build
cd cmark/build
cmake ..
make
cd ../..

git clone git@github.com:hoedown/hoedown.git
cd hoedown
make
cd ..

git clone git@github.com:mity/md4c.git

git clone git@github.com:1Password/markdown-benchmarks.git
go get -u gopkg.in/russross/blackfriday.v2

cd markdown-benchmarks
make build
make run -s

2020 August results on Intel Core i7 6700 @ 4.0GHz

$ make run -s
Blackfriday (Go):
  1000 iterations = 0.081s
 10000 iterations = 0.758s
100000 iterations = 7.419s

Comrak (Rust):
  1000 iterations =   0.113s
 10000 iterations =   1.115s
100000 iterations =  11.113s

Pulldown-cmark (Rust):
  1000 iterations =   0.021s
 10000 iterations =   0.211s
100000 iterations =   2.179s

Cmark (C):
  1000 iterations =   0.046s
 10000 iterations =   0.458s
100000 iterations =   4.653s

Hoedown (C):
  1000 iterations =   0.022s
 10000 iterations =   0.227s
100000 iterations =   2.238s

MD4C (C) with empty callbacks:
  1000 iterations =   0.012s
 10000 iterations =   0.118s
100000 iterations =   1.174s

2019 March results on 2018 Mac Book Pro (2.9 GHz Intel Core i9)

$ make run -s
Blackfriday (Go):
  1000 iterations = 0.054s
 10000 iterations = 0.514s
100000 iterations = 5.121s

Comrak (Rust):
  1000 iterations =   0.264s
 10000 iterations =   2.542s
100000 iterations =  26.623s

Pulldown-cmark (Rust):
  1000 iterations =   0.044s
 10000 iterations =   0.373s
100000 iterations =   3.785s

Cmark (C):
  1000 iterations =   0.080s
 10000 iterations =   0.798s
100000 iterations =   7.788s

Hoedown (C):
  1000 iterations =   0.023s
 10000 iterations =   0.228s
100000 iterations =   2.303s

MD4C (C) with empty callbacks:
  1000 iterations =   0.010s
 10000 iterations =   0.112s
100000 iterations =   1.088s

About

Benchmarking markdown libraries

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 62.9%
  • Rust 21.2%
  • Go 7.7%
  • Makefile 6.5%
  • Shell 1.7%