|
VTD-XML |
DOM |
SAX/PULL |
Processing Model
Description |
In memory
cursor based on "non-extractive" VTD records (Virtual Token
Descriptor) |
In memory object model based on Node object and "extractive"
tokens |
Low-level
tokenizer based on "extractive" tokens |
Performance |
Fastest
(outperform SAX with Null Content handler) |
Slowest |
Second fastest,
Raw speed un-indicative of its real world performance |
Memory
Usage
|
1.3x
~1.5x of the document size |
5x~10x of the document size |
Doesn't grow with document size |
Random Access
|
Yes |
Yes |
No,
Forward only |
Usability |
Excellent (shortest code for most given tasks) |
Very good
|
Poor |
Incremental Modification
|
Yes |
No |
No |
Inherent Persistence (avoid parsing every time) |
Yes |
No |
No |
Hardware
Implementation |
Yes |
N/A |
N/A |