Log message for revision 94047: Reverse searching order; start with the presumably smaller specific set and work our way up to larger and larger docid sets. This makes intersecting faster for most common index distributions.
Changed: U Zope/trunk/lib/python/Products/PluginIndexes/PathIndex/PathIndex.py -=- Modified: Zope/trunk/lib/python/Products/PluginIndexes/PathIndex/PathIndex.py =================================================================== --- Zope/trunk/lib/python/Products/PluginIndexes/PathIndex/PathIndex.py 2008-12-13 23:01:27 UTC (rev 94046) +++ Zope/trunk/lib/python/Products/PluginIndexes/PathIndex/PathIndex.py 2008-12-14 10:42:56 UTC (rev 94047) @@ -178,7 +178,7 @@ return IISet(self._unindex.keys()) results = None - for i, comp in enumerate(comps): + for i, comp in reversed(list(enumerate(comps))): if not self._index.get(comp, {}).has_key(level+i): return IISet() results = intersection(results, self._index[comp][level+i]) return results _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins