本测试与最近n个点的环境完全一致(http://blog.csdn.net/wjh_monkey/article/details/51842396)。具体测试结果如下:
与之前的对比可知:
初始化和更新阶段的时间有成10倍的增加,矩形区域查询增加了4倍时间,但在最近20个点的查询中时间基本没有增加。具体对比信息如下:
项目 | 10万数据源 | 100万数据源 |
初始化 | 234毫秒 | 1716毫秒 |
更新2遍 | 359毫秒 | 3510毫秒 |
矩形区域查询10万次 | 125毫秒 | 405毫秒 |
遍历法矩形区域查询1000次 | 514毫秒 | 5601毫秒 |
最近20个点查询10万次 | 609毫秒 | 639毫秒 |
遍历法最近20个点查询100次 | 1841毫秒 | 17473毫秒 |
对比可知,使用遍历法查询时间与数据源的个数成线性关系。但若使用索引查找,矩形区域查询成logN的关系,最近n点查询则时间基本固定。
经过本测试也可认为,本算法可以使用在百万基本的数据查询中,能够提供非常高效的查询效率。如果使用集群处理,能够轻松处理亿级数据源的数据量。
如果使用在普通的车辆位置查询上,则一台普通PC机即可满足要求。