🏃🏼

Markdown→HTMLはこう進化したーパイプライン最前線

に公開
3
GitHubで編集を提案

Discussion

KenjiKenji

うわ!めっちゃいい質問です!!!

単純レンダリング1回だけを秒数で測るベンチは余計な仕事をしていない markdown-it の方が速いんです。markdown-it は「正しい HTML を素早く出す」ことにフォーカスしてるからですね。

unified は「途中で AST を自在に改造できること」を第一優先に設計されています。速度よりも型安全性と変換汎用性を取っているため、設計思想のコストがそのまま数値に表れます。

変換処理がよく挟まるかどうかで変わってきますね!

例えば、GFM拡張(表や打ち消し線を追加)、リンク整形(外部リンクに rel="noopener" を追加)や<code>タグのシンタックスハイライトとかです。

加工の項目が増えれば、項目ごとに再パースするので、DOMっぽいオブジェクトやトークン列を作り直すんですよ。なので、ファイル数が多いとビルド時間が雪だるま式に時間がかかるんだと思います。

結果として unified 型の方がビルド時間はかからないんだなーと理解してました!

ryoppippiryoppippi

なるほどです。そうするとプラグインが多く挟まるとunifiedの方が遅くなっていくと言う話なんですね!ありがとうございます。