1 个不稳定版本
0.1.0 | 2023年7月9日 |
---|
#12 在 #html5ever
13KB
250 行
Generational Arena DOM
这是使用 generational_indextree
(一个基于 indextree 的使用 generational arenas 的实现)实现的 html5ever
中的 DOM。
使用 indextree 作为 DOM 可以使变更更加简单,因为 indextree 的文档中指出
这个竞技场树结构只使用一个 Vec 和数值标识符(向量的索引),而不是像引用计数指针。这意味着没有 RefCell,可变性的处理方式更符合 Rust 的习惯,通过唯一的 (&mut) 访问竞技场来处理。
然而,indextree 存在 ABA 问题,我们可以通过使用 generational-arenas 而不是基于 Vec
的竞技场来解决。
依赖项
~1–6MB
~25K SLoC