TQPagedList 不同分页尺寸的性能对比

为了更好的了解 TQPagedList 在不同页面尺寸下的性能,为其设置一个最佳的默认值,特做此测试。测试样本为10万条记录,统计不同操作的用时,得到结果如下表所示:
QPageListPerfGrid

 

我们为了更直观的观察,做成柱状图以便对比,由于追加测试性能基本上没变化,我们就没有做该类型测试的图表:

QPageListPerfGraph

我们根据上面的图表,进行下简单的总结:

1、我们可以看到,随着页尺寸的增加,插入首个位置测试时,由于内存块移动造成的开销也越来越大,而随机插入和插入排序则在页尺寸为 512 时,达到一个最佳。而删除操作,则在随着页尺寸的增加,开销也在增加,而且随着页尺寸的增加,增幅越来越大。随机访问则随着页面尺寸基本线性下降。

2、根据上面的测试结果,TQPagedList 默认的页面大小决定采用512。但在实际的使用环境中,请根据自己的需求自行决定分页的尺寸。

附:页尺寸为 512 时,TQPagedList 与 TList 及 TQRBTree 性能实测数据

【注】下面数据是更新后的版本,上面图表是更新前的,优化了随机访问性能,由此带来的性能变化对比:

插入首个位置:17.1 -> 16.6(+3%)

随机插入:24.7->21.9(+11%)

排序插入:158.4->156.6(+1%)

删除首个元素:20.1->20.5(-2%)

随机删除:20.8->20.9(-0.5%)

随机访问:11.5->5.3(+53%)):

 

分享到:

4 条评论

沙发空缺中,还不快抢~