机器配置:Intel(R) Pentium(R) D CPU: 2.66GHz;内存:2.00;IDE:VS2008
数据格式:
<?xml version="1.0" encoding="utf-8"?> <Articles xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.csdn.com"> <LastestArticleDate>2008-03-12T11:03:36.34375+08:00</LastestArticleDate> <Articles> <Article> <Date>2008-03-12T11:03:36.34375+08:00</Date> <FaceUrl>Images/Faces/Bing.jpg</FaceUrl> <Author>Bing</Author> <Content>11111111111111111111111111111111111111111111111111</Content> </Article> <Article> <Date>2008-03-11T11:03:36.34375+08:00</Date> <FaceUrl>Images/Faces/Bing.jpg</FaceUrl> <Author>Bing</Author> <Content>11111111111111111111111111111111111111111111111111</Content> </Article> </Articles> </Articles> |
我们测试读取数据的方法一共有三种:XML反序列化,使用XMLReader读取数据,直接被当作纯文本读取。
测试结果如下:
编号 | 数据量 | 文件大小(M) | XML反序列化(ms) | XMLReader(ms) | StreamReader(ms) |
1 | 1600 | 0.64 | 31.25 | 15.625 | 15.625 |
2 | 3200 | 1.28 | 46.875 | 15.625 | 15.625 |
3 | 6400 | 2.56 | 78.125 | 46.875 | 31.25 |
4 | 12800 | 5.09 | 203.125 | 93.75 | 62.5 |
5 | 25600 | 10.22 | 421.875 | 187.5 | 125 |
6 | 51200 | 20.44 | 859.375 | 375 | 234.375 |
7 | 102400 | 40.85 | 1750 | 734.375 | 515.625 |
8 | 204800 | 81.65 | 3562.5 | 1421.875 | 968.75 |
结论:在大数据量的情况下,StreamReader读取数据的方式明显快于XMLReader的读取方式,XML反序列化的速度无疑是最慢的。另外读取数据的速度快慢貌似直接和数据量成正比关系。