Hello all,

So, I've been experimenting with a new structure for our date indexes, 
and I was considering using an IOBTree that would map integer timestamps 
to BTree-based sets. As for the sets, I considered two options:

 1. An IITreeSet based on the OID and an additional IOBTree that maps 
back the OIDs to objects;
 2. An OOTreeSet;

As expected 1 was light years faster when I tried to query for large 
timespans (doing normal union operations using OOTreeSets seems to be a 
very slow operation). Still, for single days (and generally timespans 
smaller than 7 days), the OOTreeSet seems to be much faster (apparently, 
iterating through the all the ids in the resulting set and fetching the 
corresponding object takes some time, even for sets with only one 
member, so, IITreeSet seems to be in disadvantage here).
Does anyone have any advice on optimizing the first case? I believe the 
IITreeSet is the way to go, but if only there was some way to make the 
int<->object conversion operation less expensive...

Thanks in advance,

Pedro
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to