NSMutableSet联合集的性能/实现

时间:2013-01-15 01:52:35

标签: objective-c nsmutableset

我想知道如何在NSMutableSet实例中实现union set。我有两个需要经常加入工会的大型集合,我想知道我是否应该实现自己的工会化两套方式,或者Apple的方式是否足够快。

2 个答案:

答案 0 :(得分:1)

我敢打赌Apple版本经过大量优化。为什么不运行Instruments并查看是否存在性能问题?

有关CFSet源代码,请参阅:opensource.apple.com

static Boolean __CFSetEqual(CFTypeRef cf1, CFTypeRef cf2) {
return __CFBasicHashEqual((CFBasicHashRef)cf1, (CFBasicHashRef)cf2);
}

static CFHashCode __CFSetHash(CFTypeRef cf) {
return __CFBasicHashHash((CFBasicHashRef)cf);
}

答案 1 :(得分:1)

NSMutableSet的效果在很大程度上取决于集合中对象对-hash-isEqual的实现。我认为你自己实现它可以提高性能。但是,您可以尝试它,然后分析您的代码,看它是否“太慢了。”