Golang markdown 引擎性能基准测试

  1. 主要对比了 4 款 Go 实现的 Markdown 引擎:Lutegolang-commonmarkgoldmarkBlackfridaygomarkdown
  2. 均已关闭 Typographer 相关配置,因为在排版优化上各库的功能差异较大,对比性能意义不大
  3. 均已开启 GFM 支持,因为 GFM 在实际使用场景下是必备的
  4. Blackfriday 没有实现 GFM 所以性能看上去更好一些
  5. GolangCommonMark 的性能表现优异,暂时没有研究学习
  6. 基准测试数据 CommonMark Spec ~197K
BenchmarkLute-12                             502           2024389 ns/op         8197125 B/op      50732 allocs/op
BenchmarkGolangCommonMark-12                1239            909600 ns/op         2901562 B/op      20119 allocs/op
BenchmarkGoldMark-12                         961           1248482 ns/op         3002846 B/op      14943 allocs/op
BenchmarkBlackFriday-12                     1214            888887 ns/op         3231548 B/op      19855 allocs/op
BenchmarkGoMarkdown-12                        74          15741747 ns/op         2183346 B/op      22174 allocs/op
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    414 引用 • 1323 回帖 • 683 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    129 引用 • 1005 回帖 • 531 关注
  • Lute

    Lute 是一款对中文语境优化的 Markdown 引擎,支持 Go 和 JavaScript。

    9 引用 • 126 回帖 • 3 关注

赞助商 我要投放

回帖
请输入回帖内容 ...