Engineering succinct DOM

Engineering succinct DOM
复制标题

工程简洁 DOM

DOI:
10.1145/1353343.1353354
复制
发表时间:
2008
期刊:
--
影响因子:
--
通讯作者:
Naila Rahman
Naila Rahman
中科院分区:
--
文献类型:
--
作者:
O'Neil Delpratt;R. Raman;Naila Rahman

文献摘要

被引文献

相似文献

我们描述了 Succinct DOM (SDOM) 的工程,这是一种用 C++ 编写的 DOM 实现,适用于大型静态 XML 文档的内存中表示。 SDOM 避免使用指针,并基于简洁的数据结构,该结构使用信息理论上的最小空间量来表示对象。 SDOM 提供了一种节省空间的内存表示,具有稳定且可预测的内存使用情况。 SDOM 所使用的空间比标准 C++ DOM 表示(例如 Xerces)所使用的空间小一个数量级,但 SDOM 非常快:导航在某些情况下比基于指针的表示(例如 Xerces)更快(即使对于可以通过 Xerces 轻松加载到主内存中的中等大小的文档也是如此)。 SDOM-CT 的一个变体将基于 bzip 的压缩应用于文本和属性数据,其空间使用量与“可查询”XML 压缩器相当。其中一些压缩器支持压缩文件的导航和/或查询(例如子路径查询)。 SDOM-CT 不支持直接查询,但仍然非常快:它的导航速度比支持导航的可查询 XML 压缩器快几个数量级(仅比 Xerces 慢几倍)。
We describe the engineering of Succinct DOM (SDOM), a DOM implementation, written in C++, which is suitable for in-memory representation of large static XML documents. SDOM avoids the use of pointers, and is based upon succinct data structures, which use an information-theoretically minimum amount of space to represent an object. SDOM gives a space-efficient in-memory representation, with stable and predictable memory usage. The space used by SDOM is an order of magnitude less than that used by a standard C++ DOM representation such as Xerces, but SDOM is extremely fast: navigation is in some cases faster than for a pointer-based representation such as Xerces (even for moderate-sized documents which can comfortably be loaded into main memory by Xerces). A variant, SDOM-CT, applies bzip-based compression to textual and attribute data, and its space usage is comparable with "queryable" XML compressors. Some of these compressors support navigation and/or querying (e.g. subpath queries) of the compressed file. SDOM-CT does not support querying directly, but remains extremely fast: it is several orders of magnitude faster for navigation than queryable XML compressors that support navigation (and only a few times slower than say Xerces).