Delphi TList性能注意事项


本文整理自网络,侵删。

 
TList性能注意事项

 

本文虽然是用TList为例,但同样适用于Tstringlist,Tobjectlist等列表类。

1)提取/删除列表中的元素

例如,在包含65536个元素的列表中:

while list.Count > 0 do List.Delete(0) //完成需要2分钟

for I := List.Count-1 downto 0 do List.Delete(I) //完成时间少于1秒
同样是删除65536个元素,为什么2种方法所需时间相差如此之大?
因为删除项目[0]比删除项目[计数-1]慢得多的原因在于它后面有6万多个元素的内存移动。
提取元素也是同样的原理。所以我们应该从队尾提取元素,而不是从队头。
我们应该从队尾开始删除元素,而不是从队头。

2)查找列表中的元素
从没有排序的列表中indexof()元素速度非常慢,而从排序的列表中查找元素的速度非常快。

来源:https://www.cnblogs.com/hnxxcxg/p/13551861.html

相关阅读 >>

Delphi 关于 array of const

Delphi winapi: getwindowtext - 获取窗口标题

Delphi post数据与对应的接收方式

Delphi根据进程pid等待进程结束或者结束进程

Delphi richedit的内容保存为图片

Delphi webbroker iis cgi 的配置

Delphi 获取android包名称

Delphi 配置驱动程序(firedac)

Delphi datasnap 的连接事件顺序图

Delphi 微信公众平台 Delphi sdk

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...