中国开发网: 论坛: 程序员情感CBD: 贴子 21276
pcplayer: 对 StringList 和 HashedStringList 的测试报告
把1000000条数据加进去。

如果 StringList.Sorted:=False ,耗时=661890
加进 HashedStringList,耗时=650078

用掉的时间似乎相同。

但如果 StringList.Sorted:=True ,则用掉1802531,时间大大延长。

然后是搜索。如果StringList不排序,则搜索时间与被搜索的值在队列里的位置成正比。如果排序,则搜索时间为0 (时间是用GetTickCount)。

对 HashedStringList 做搜索,第一次搜索需要2秒左右。后面的搜索就全是0秒。

HashedStringList如果再加进一条数据,再次的搜索仍然需要2秒。然后的搜索需要的时间就是0。

看来,在频繁更新,也频繁搜索的情况下,用THashedStringList并不见得好。为什么它加了个新记录进去后,再次的搜索仍然要2秒? Hash表不需要重新排序的呀。

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录