The performance of NSMutableSet
depends greatly on the implementation of -hash
and -isEqual
by the objects in the set. I would not think you'd get a performance boost implementing it yourself. However, you could try it and then profile your code to see if it's "too slow."
NSMutableSet union set performance/implementation
-
15-01-2022 - |
Question
I'm wondering how is union set implemented in an NSMutableSet instance. I have two large sets that needs to be unionized frequently and I'm wondering if I should implement my own way of unionizing two sets or if Apple's way is fast enough.
Solution
OTHER TIPS
I would bet heavily that the Apple versions are heavily optimized. Why not just run Instruments and see if there is a performance issue?
For CFSet source code see: 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);
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow