Intel Pentium Celeron 700 MHz, Microsoft Windows 2000 Professional
These performance tests are based on Inside MSXML Performance article.
UTF-8 encoding
MSXML | FastXML | FastXML : MSXML | |||
Sample | Load time (ms) | MB/s | Load time (ms) | MB/s | % |
Hamlet.xml | 74.8 | 3.6 | 11.8 | 22.6 | 15.8 % |
Ado.xml | 408.7 | 2.4 | 71.3 | 13.5 | 17.5 % |
Ot.xml | 838.5 | 4.4 | 133.3 | 27.4 | 15.9 % |
Northwind.xml | 52.5 | 4.4 | 8.8 | 26.5 | 16.8 % |
Mean values | 3.7 | 22.5 | 16.5 % (1:6) |
UTF-16 encoding
MSXML | FastXML | FastXML : MSXML | |||
Sample | Load time (ms) | MB/s | Load time (ms) | MB/s | % |
HamletU.xml | 73.8 | 7.2 | 13.9 | 39.3 | 18.9 % |
AdoU.xml | 410.2 | 4.7 | 80.1 | 24.0 | 19.5 % |
OtU.xml | 794.9 | 9.2 | 164.1 | 44.5 | 20.6 % |
NorthwindU.xml | 45.3 | 10.3 | 10.6 | 44.1 | 23.3 % |
Mean values | 7.8 | 37.7 | 20.6 % (1:5) |
UTF-16 encoding only. The input encoding does not affect the working set size (it affect only the ratio of the working set size to the file size).
File size | MSXML | FastXML | FastXML : MSXML | |||
Sample | KB | WS delta (MB) | Ratio | WS delta (MB) | Ratio | % |
HamletU.xml | 546 | 1140 | 2.09 | 600 | 1.10 | 52.6 % |
AdoU.xml | 1968 | 5064 | 2.57 | 2680 | 1.36 | 52.9 % |
OtU.xml | 7484 | 11204 | 1.50 | 5568 | 0.74 | 49.7 % |
NorthwindU.xml | 478 | 712 | 1.49 | 368 | 0.77 | 51.7 % |
Mean values | 51.6 % (1:2) |
These are the results of walking the complete XML tree via DOM (including all element, attributes and text nodes).
First time walk | Next walks | |||||
Sample | MSXML (ms) | FastXML (ms) | Ratio | MSXML (ms) | FastXML (ms) | Ratio |
Hamlet.xml | 53.8 | 13.8 | 25.6 % | 42.9 | 13.8 | 32.1 % |
Ado.xml | 187.6 | 65.1 | 34.7 % | 187.1 | 65.2 | 34.8 % |
Ot.xml | 531.9 | 133.1 | 25.0 % | 431.5 | 133.5 | 30.9 % |
Northwind.xml | 28.9 | 7.2 | 25.0 % | 23.2 | 6.8 | 29.1 % |
Mean values | 29.6 % (1:4) | 31.8 % (1:3) |
Helena Kupková, fastxml@yahoo.com. | This page was hit times. |