On Friday 17 April 2009 17:42:03 [email protected] wrote: > Author: nextgens > Date: 2009-04-17 16:42:03 +0000 (Fri, 17 Apr 2009) > New Revision: 26942 > > Modified: > branches/nextgens-stuffs/freenet/src/freenet/io/comm/MessageCore.java > Log: > More optimization: sort the MessageFilters by Peer to speedup matching > > Modified: branches/nextgens-stuffs/freenet/src/freenet/io/comm/MessageCore.java > =================================================================== > --- branches/nextgens-stuffs/freenet/src/freenet/io/comm/MessageCore.java 2009-04-17 16:32:59 UTC (rev 26941) > +++ branches/nextgens-stuffs/freenet/src/freenet/io/comm/MessageCore.java 2009-04-17 16:42:03 UTC (rev 26942) ...
Neither of the below makes sense, if you're thinking of reusing this code. You
add the filter to the list for *every* Peer, afaics.
> @@ -352,20 +373,22 @@
> if (ret == null) {
> if(logMINOR) Logger.minor(this, "Not in
> _unclaimed");
> // Insert filter into filter list in order of
> timeout
> - ListIterator<MessageFilter> i =
> _filters.listIterator();
> - while (true) {
> - if (!i.hasNext()) {
> - i.add(filter);
> - if(logMINOR) Logger.minor(this,
> "Added at end");
> - break;
> + for(LinkedList<MessageFilter> list :
> _filters.values()) {
> + ListIterator<MessageFilter> i =
> list.listIterator();
> + while (true) {
> + if (!i.hasNext()) {
> + i.add(filter);
> + if(logMINOR)
> Logger.minor(this, "Added at end");
> + break;
> + }
> + MessageFilter mf = i.next();
> + if (mf.getTimeout() >
> filter.getTimeout()) {
> + i.previous();
> + i.add(filter);
> + if(logMINOR)
> Logger.minor(this, "Added in middle - mf
timeout="+mf.getTimeout()+" - my timeout="+filter.getTimeout());
> + break;
> + }
> }
> - MessageFilter mf = i.next();
> - if (mf.getTimeout() >
> filter.getTimeout()) {
> - i.previous();
> - i.add(filter);
> - if(logMINOR) Logger.minor(this,
> "Added in middle - mf
timeout="+mf.getTimeout()+" - my timeout="+filter.getTimeout());
> - break;
> - }
> }
> }
> }
> @@ -424,20 +447,22 @@
> if (ret == null) {
> if(logMINOR) Logger.minor(this, "Not in
> _unclaimed");
> // Insert filter into filter list in order of
> timeout
> - ListIterator<MessageFilter> i =
> _filters.listIterator();
> - while (true) {
> - if (!i.hasNext()) {
> - i.add(filter);
> - if(logMINOR) Logger.minor(this,
> "Added at end");
> - break;
> + for(LinkedList<MessageFilter> list :
> _filters.values()) {
> + ListIterator<MessageFilter> i =
> list.listIterator();
> + while (true) {
> + if (!i.hasNext()) {
> + i.add(filter);
> + if(logMINOR)
> Logger.minor(this, "Added at end");
> + break;
> + }
> + MessageFilter mf = i.next();
> + if (mf.getTimeout() >
> filter.getTimeout()) {
> + i.previous();
> + i.add(filter);
> + if(logMINOR)
> Logger.minor(this, "Added in middle - mf
timeout="+mf.getTimeout()+" - my timeout="+filter.getTimeout());
> + break;
> + }
> }
> - MessageFilter mf = i.next();
> - if (mf.getTimeout() >
> filter.getTimeout()) {
> - i.previous();
> - i.add(filter);
> - if(logMINOR) Logger.minor(this,
> "Added in middle - mf
timeout="+mf.getTimeout()+" - my timeout="+filter.getTimeout());
> - break;
> - }
> }
> }
> }
>
> _______________________________________________
> cvs mailing list
> [email protected]
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs
>
>
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Devl mailing list [email protected] http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
