代码之家  ›  专栏  ›  技术社区  ›  Adam Tuttle

性能测试需要足够长和复杂的降价文档

  •  22
  • Adam Tuttle  · 技术社区  · 14 年前

    我正在寻找一个长而复杂的降价文档,我可以使用它来测试不同降价实现的性能——作为简单文档的迭代基准测试的替代方法。

    我以为我可以浏览堆栈溢出并找到一些东西,但总的来说,我找到的所有东西都非常简单;到目前为止,我还没有在谷歌上找到任何有用的东西。

    是否有一个现有的文档展示了大多数或所有的降价语法,也许只是为这样的测试而编写的?

    3 回复  |  直到 6 年前
        1
  •  26
  •   Skilldrick    14 年前

    尝试 this 出来。这是约翰·格鲁伯的源标记 Markdown Syntax 第页。

    请注意,其中也有一些HTML。

    事实上,几乎所有的页面 John Gruber's site 如果你附加了 .text 指向URL。

        2
  •  31
  •   Jerry Coffin    14 年前

    你看过/用过吗 John Gruber's test suite ?

        3
  •  3
  •   Ciro Santilli OurBigBook.com    6 年前

    Markdown Test Suite 当CommonMark退出隐身模式(从而浪费了大量的开源工作时间…)时,我将多个实现比较部分(主要由您真正编写)分叉到 https://github.com/cirosantilli/commonmark-implementation-compare

    速度测试是幼稚的,但给出了一个想法:

    blackfriday     2.1222s  235  46%
    cmark           1.9516s    1   0%
    commonmarkjs   37.4651s    2   0%
    hoedown         1.8875s  221  43%
    kramdown       94.6460s  247  48%
    markdown2      28.9707s  278  54%
    markdown_pl    14.6919s  287  56%
    markdownjs     40.3337s  302  59%
    marked         35.3758s  258  50%
    maruku         87.1664s  316  61%
    multimarkdown   2.0579s  239  46%
    pandoc          6.3442s  268  52%
    peg_markdown    2.6402s  211  41%
    rdiscount      42.0547s  200  39%
    redcarpet      43.6608s  229  44%
    showdown       45.0655s  285  55%
    

    可能最大的缺陷是每个被测试的输入都是由stdin提供的,所以每次都调用解释器,并承受很大的开销。

    原始答案

    可能使用降价测试套件: https://github.com/karlcow/markdown-testsuite

    ./cat-all.py 然后在上运行测试 all.tmp.md

    它目前包含103个测试,并且已经支持许多降价引擎。

    对于单个测试的总时间(也是一个有意义的参数),已经完成了简单的基准测试,并且对于 cat-all.py .