Improved performance and reduced memory footprint of schema validation involving large maxOccurs:
- the CMStateSet uses a sparsely allocated matrix to store the bits, resulting in less memory usage and faster bitwise operations (when analyzing an unallocated chunk, no operations are done); also, having moved the dynamic buffer data members into a separate structure, the space used by two pointers has been added to the cached bit fields, that is now 128 bits - the DFA builder chooses the faster algorithm depending on the data being analyzed. The regression test for XERCESC-1051 now completes in 30 seconds instead of 80 git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@807213 13f79535-47bb-0310-9956-ffa450edef68
Showing
- src/xercesc/util/XMLString.hpp 5 additions, 10 deletionssrc/xercesc/util/XMLString.hpp
- src/xercesc/validators/common/CMStateSet.hpp 340 additions, 99 deletionssrc/xercesc/validators/common/CMStateSet.hpp
- src/xercesc/validators/common/DFAContentModel.cpp 57 additions, 16 deletionssrc/xercesc/validators/common/DFAContentModel.cpp
- tests/src/DOM/DOMTest/DTest.cpp 107 additions, 1 deletiontests/src/DOM/DOMTest/DTest.cpp
Loading
Please register or sign in to comment