Interesting. Copying just the keys does seem cheaper than copying the hash, but I don't know if it really is. It does involve a data conversion whereas QHash unsharing might be a simpler bulk operation. Depends on how things are stored I guess :) 

I think this is a case where exploring the alternatives is not worth the time though :) If it were up to me I'd rewrite this whole class to not play so many games with m_objectHandlesMap.