Packages
mdex
0.13.3
0.13.3
0.13.2
0.13.1
0.13.0
0.12.5
retired
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Fast and extensible Markdown for Elixir
Current section
Files
Jump to
Current section
Files
benchmark.exs
deps = [
{:req, "~> 0.6"},
{:benchee, "~> 1.5"},
{:earmark, "~> 1.4"},
{:md, "~> 0.12"},
{:cmark, "~> 0.10"},
{:mdex, "~> 0.13"},
{:mdex_native, "~> 0.2"},
{:markdown, github: "WhatsApp/erlang-markdown", subdir: "apps/markdown", manager: :rebar3}
]
Mix.install(deps)
defmodule Benchmark do
@markdown Req.get!("https://raw.githubusercontent.com/leandrocp/mdex/main/README.md").body
def run do
benchmarks = %{
"earmark" => fn -> Earmark.as_html(@markdown) end,
"md" => fn -> Md.generate(@markdown) end,
"cmark" => fn -> Cmark.to_html(@markdown) end,
"mdex" => fn -> MDEx.to_html(@markdown, syntax_highlight: nil) end,
"mdex_native" => fn -> MDExNative.Comrak.markdown_to_html(@markdown) end,
"erlang-markdown" => fn -> :markdown.to_html(@markdown) end
}
Benchee.run(
benchmarks,
memory_time: 2,
reduction_time: 2,
formatters: [{Benchee.Formatters.Console, extended_statistics: true}]
)
end
end
Benchmark.run()