nextgens at freenetproject.org wrote:
> Author: nextgens
> Date: 2006-08-27 13:45:23 +0000 (Sun, 27 Aug 2006)
> New Revision: 10282
> 
> Modified:
>    trunk/freenet/src/freenet/node/Node.java
> Log:
> optimize maybeLogPeerNodeStatusSummary() : it seems to be much faster than 
> doing nth. hashmap lookups :/

So apparently the hashmaps are poorly implemented since getting the size 
should simply be checking a size tracking variable.  Seems the hashmaps 
are pointless if counting each time everywhere is faster.

> Modified: trunk/freenet/src/freenet/node/Node.java
> ===================================================================
> --- trunk/freenet/src/freenet/node/Node.java  2006-08-27 13:26:30 UTC (rev 
> 10281)
> +++ trunk/freenet/src/freenet/node/Node.java  2006-08-27 13:45:23 UTC (rev 
> 10282)
> @@ -2544,16 +2544,57 @@
>         if(now > nextPeerNodeStatusLogTime) {
>               if((now - nextPeerNodeStatusLogTime) > (10*1000) && 
> nextPeerNodeStatusLogTime > 0)
>                 Logger.error(this,"maybeLogPeerNodeStatusSummary() not called 
> for more than 10 seconds ("+(now - nextPeerNodeStatusLogTime)+").  
> PacketSender getting bogged down or something?");
> -             int numberOfConnected = 
> getPeerNodeStatusSize(PEER_NODE_STATUS_CONNECTED);
> -             int numberOfRoutingBackedOff = 
> getPeerNodeStatusSize(PEER_NODE_STATUS_ROUTING_BACKED_OFF);
> -             int numberOfTooNew = 
> getPeerNodeStatusSize(PEER_NODE_STATUS_TOO_NEW);
> -             int numberOfTooOld = 
> getPeerNodeStatusSize(PEER_NODE_STATUS_TOO_OLD);
> -             int numberOfDisconnected = 
> getPeerNodeStatusSize(PEER_NODE_STATUS_DISCONNECTED);
> -             int numberOfNeverConnected = 
> getPeerNodeStatusSize(PEER_NODE_STATUS_NEVER_CONNECTED);
> -             int numberOfDisabled = 
> getPeerNodeStatusSize(PEER_NODE_STATUS_DISABLED);
> -             int numberOfListenOnly = 
> getPeerNodeStatusSize(PEER_NODE_STATUS_LISTEN_ONLY);
> -             int numberOfListening = 
> getPeerNodeStatusSize(PEER_NODE_STATUS_LISTENING);
> -             int numberOfBursting = 
> getPeerNodeStatusSize(PEER_NODE_STATUS_BURSTING);
> +             
> +             int numberOfConnected = 0;
> +             int numberOfRoutingBackedOff = 0;
> +             int numberOfTooNew = 0;
> +             int numberOfTooOld = 0;
> +             int numberOfDisconnected = 0;
> +             int numberOfNeverConnected = 0;
> +             int numberOfDisabled = 0;
> +             int numberOfListenOnly = 0;
> +             int numberOfListening = 0;
> +             int numberOfBursting = 0;
> +             
> +             PeerNodeStatus[] pns = getPeerNodeStatuses();
> +             
> +             for(int i=0; i<pns.length; i++){
> +                     switch (pns[i].getStatusValue()) {
> +                     case PEER_NODE_STATUS_CONNECTED:
> +                             numberOfConnected++;
> +                             break;
> +                     case PEER_NODE_STATUS_ROUTING_BACKED_OFF:
> +                             numberOfRoutingBackedOff++;
> +                             break;
> +                     case PEER_NODE_STATUS_TOO_NEW:
> +                             numberOfTooNew++;
> +                             break;
> +                     case PEER_NODE_STATUS_TOO_OLD:
> +                             numberOfTooOld++;
> +                             break;
> +                     case PEER_NODE_STATUS_DISCONNECTED:
> +                             numberOfDisconnected++;
> +                             break;
> +                     case PEER_NODE_STATUS_NEVER_CONNECTED:
> +                             numberOfNeverConnected++;
> +                             break;
> +                     case PEER_NODE_STATUS_DISABLED:
> +                             numberOfDisabled++;
> +                             break;
> +                     case PEER_NODE_STATUS_LISTEN_ONLY:
> +                             numberOfListenOnly++;
> +                             break;
> +                     case PEER_NODE_STATUS_LISTENING:
> +                             numberOfListening++;
> +                             break;
> +                     case PEER_NODE_STATUS_BURSTING:
> +                             numberOfBursting++;
> +                             break;
> +                     default:
> +                             Logger.error(this, "Unkown peer status value : 
> "+pns[i].getStatusValue());
> +                             break;
> +                     }
> +             }
>               Logger.normal(this, "Connected: "+numberOfConnected+"  Routing 
> Backed Off: "+numberOfRoutingBackedOff+"  Too New: "+numberOfTooNew+"  Too 
> Old: "+numberOfTooOld+"  Disconnected: "+numberOfDisconnected+"  Never 
> Connected: "+numberOfNeverConnected+"  Disabled: "+numberOfDisabled+"  
> Bursting: "+numberOfBursting+"  Listening: "+numberOfListening+"  Listen 
> Only: "+numberOfListenOnly);
>               nextPeerNodeStatusLogTime = now + peerNodeStatusLogInterval;
>               }
> 
> _______________________________________________
> cvs mailing list
> cvs at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs



Reply via email to