[Checkins] SVN:	Zope/trunk/lib/python/Products/PluginIndexes/PathIndex/PathIndex.py	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.
    Martijn Pieters 
    mj at zopatista.com
       
    Sun Dec 14 05:42:57 EST 2008
    
    
  
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
    
    
More information about the Checkins
mailing list