[freenet-dev] [freenet-cvs] r20993 - in branches/db4o/freenet/src/freenet: client/async node

Matthew Toseland toad at amphibian.dyndns.org
Mon Jul 7 08:49:49 UTC 2008


On Mon, Jul 07, 2008 at 12:52:59PM +0800, Daniel Cheng wrote:
> On Fri, Jul 4, 2008 at 10:28 PM,  <toad at freenetproject.org> wrote:
> > Author: toad
> > Date: 2008-07-04 14:28:59 +0000 (Fri, 04 Jul 2008)
> > New Revision: 20993
> >
> > Added:
> >   branches/db4o/freenet/src/freenet/client/async/PendingKeyItem.java
> > Modified:
> >   branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerBase.java
> >   branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
> >   branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerNonPersistent.java
> >   branches/db4o/freenet/src/freenet/node/Node.java
> > Log:
> > Implement pendingKeys differently for transient vs persistent.
> > For transient, keep the existing Map-based code.
> > For persistent, use PendingKeyItem's and queries.
> > Hopefully this is a speedup.
> >
> [...]
> > +
> > +               ObjectSet pending = container.query(new Predicate() {
> > +                       public boolean match(PendingKeyItem item) {
> > +                               if(!key.equals(item.key)) return false;
> 
> ob4o does not seems to be using the index for key.equals here.
> I have misinformed you something about indexing....

Yikes.... :(

What to do about it? Can db4o index byte[]'s?



More information about the Devl mailing list