Delphi TList性能注意事项
2022-12-26 14:33:11 作者:admin
本文整理自网络,侵删。
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自动以管理员身份在vista 和 windows7 下运行程序
Delphi 去除右边指定字符
Delphi 一个绘制虚线的非常规函数(常规方法,打印机上绘制不出虚线)
Delphi 如何让程序在按了 android 的 back 键后不关闭当前 from 或者不 app 退出
Delphi编程实现sql server挂起清除
Delphi firedac 下的 sqlite [12] - 备忘录
Delphi 与 c# 生成不带bom的utf8文件
Delphi 进程通讯之wm_copydata 发送程序(senddata.exe)
Delphi fdconnection执行sql execsql
Delphi 取bmp图片宽高
更多相关阅读请进入《Delphi》频道 >>
猜你喜欢
联络方式:
400-123-789
邮箱:xiachao@163.com
Q Q:12345678
微信公众号
微信二维码