def hasObject(self, id): """Test if an object is in the current object.""" return id in self.objectIds()
Because then it always computes all ids, before testing presence (second list scan). Time is N+pos(id) whereas with the scan below, time is pos(id) (N being the total number of subobjects). Florent
def hasObject(self, id): """Test if an object is in the current object.""" for o in self._objects: if o['id'] == id: return 1 return 0
to ObjectManager.
This would bring it in line with BTreeFolder2 (who already has an hasObject method) and we could then always use the most efficient method to test if a folder has a given subobject id.
Opinions ?
Florent
-- Florent Guillaume, Nuxeo (Paris, France) +33 1 40 33 71 59 http://nuxeo.com mailto:fg@nuxeo.com