【发布时间】:2010-04-06 12:21:10
【问题描述】:
我的应用程序大量使用 TList,所以我想知道是否有任何替代实现更快或针对特定用例进行优化。
我知道RtlVCLOptimize.pas 2.77,它优化了几个 TList 方法的实现。
但我想知道那里是否还有其他东西。我也不需要它是 TList 后代,我只需要 TList 功能,不管它是如何实现的。
鉴于 TList 提供的相当基本的功能,完全有可能没有太大的改进空间,但仍想验证这一点,因此提出了这个问题。
edit:在我的特定用例中,没有对列表进行排序。有很多列表,其中包含不同数量的元素。我确实用我自己的类替换了 TList 以记录添加/删除调用的数量和元素的数量。它报告(所有列表的总计):
ListAdd = 15766012; ListRemove = 10630000; ListCount = 5136012
我还可以找出单个列表中元素的最大数量。
我没有什么特别的问题,我只是想知道是否有办法让它变得更快,因为有了这些数字,即使是很小的改进也会加起来。
【问题讨论】:
-
有多少项目,排序与否,您特别关心什么?即 10,000+ 行太慢?
-
除了添加、删除和计数之外,您还使用其他方法吗?
-
顺便说一句,您使用的是什么版本的 Delphi?
-
@ChrisThornton 大小分开通常插入和删除低索引项似乎很重要。
标签: delphi optimization