EDIT dopo Markdown Test Suite morì quando Commonmark uscì modalità stealth (sprecando così una grande quantità di tempo di lavoro open source ...), ho biforcato la parte di confronto multi-applicazione (per lo più scritta dal sottoscritto) a https://github.com/cirosantilli/commonmark-implementation-compare
il test della velocità è naive, ma dà un'idea:
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%
Probabilmente il più grande difetto è che ogni ingresso testato è alimentato da stdin, così interpreti sono chiamati ogni volta, e soffrono una grande testa.
Una possibilità sta usando la Suite Markdown Test: https://github.com/karlcow/markdown-testsuite
fare ./cat-all.py
e quindi eseguire il test su all.tmp.md
Esso contiene attualmente 103 test, e supporta già molti motori di riduzione dei prezzi.
I benchmark semplici sono già stati eseguiti per il tempo totale dei singoli test (anche un parametro significativo) e sarebbe davvero facile da implementare per l'output di cat-all.py
.
fonte
2014-05-10 15:06:00
Grazie, buono a sapersi. I formati di annidamento (cioè grassetto all'interno del corsivo all'interno del testo del link) influenzano le prestazioni? –
Chiedilo come un'altra domanda, non chiedermelo. Non sono un esperto di markdown - mi è capitato di metterlo sul mio blog ieri! – Skilldrick
Inoltre, probabilmente dipende dall'implementazione (risalendo a Joel e Jeff's regex vs. discussione sui computer di stato). Dai un'occhiata alla tua fonte di implementazione e guarda come si gestisce il nesting. – Skilldrick