pcplayer:
对 StringList 和 HashedStringList 的测试报告
[阅读: 1355] 2004-09-05 07:54:08
把1000000条数据加进去。
如果 StringList.Sorted:=False ,耗时=661890
加进 HashedStringList,耗时=650078
用掉的时间似乎相同。
但如果 StringList.Sorted:=True ,则用掉1802531,时间大大延长。
然后是搜索。如果StringList不排序,则搜索时间与被搜索的值在队列里的位置成正比。如果排序,则搜索时间为0 (时间是用GetTickCount)。
对 HashedStringList 做搜索,第一次搜索需要2秒左右。后面的搜索就全是0秒。
HashedStringList如果再加进一条数据,再次的搜索仍然需要2秒。然后的搜索需要的时间就是0。
看来,在频繁更新,也频繁搜索的情况下,用THashedStringList并不见得好。为什么它加了个新记录进去后,再次的搜索仍然要2秒? Hash表不需要重新排序的呀。