我试图找出最快的方法来计算Xerces C++ DOMNode对象的子元素数量,因为我正在尝试优化使用Xerces 2.6 DOMParser的Windows应用程序的性能。
似乎大部分时间都花在数数和接触 child 上。我们的应用程序需要遍历文档中的每个节点以使用DOMNode::setUserData()
将数据附加到该节点,并且最初使用DOMNode::getChildNodes()
,DOMNodeList::getLength()
和DOMNodeList::item(int index)
来计数和访问子节点,但是这些操作相对昂贵。
当我们使用不同的调用习惯时,观察到了很大的性能改进DOMNode:: getFirstChild()
获取第一个子节点,并调用DOMNode::getNextSibling()
来访问特定索引处的子节点,或者对第一个子元素的同胞数目进行计数以获得子节点总数。
但是,getNextSibling()
仍然是我们解析步骤中的瓶颈,因此我想知道是否存在使用Xerces遍历和访问子元素的更快方法。
最佳答案
关于c++ - 使用Xerces C++最快的计数/访问DOMNode子级的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11543130/