Skip to main content

layout_tree

Function layout_tree 

Source
pub fn layout_tree<'a>(
    node: &'a StyledNode<'a>,
    containing_block: Dimensions,
) -> LayoutBox<'a>
Expand description

計算量: O(N × D) — N はスタイル済みノード数、D は テキストを含むノードでの行分割コスト(文字数に比例)。

ブロック整形は 1 パスだが、flex / grid コンテナは子の寸法を決めるのに 子を 2 回走査する(伸長・収縮の分配)。入れ子の深さぶん掛かるため 深いフレックス入れ子では定数倍が増える。

実測(sugi-lab.net: N=358): 48〜89 tick。 style_tree(291 tick)の 1/4 以下で、レイアウトの支配項ではない