Prechádzať zdrojové kódy

2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	Small optimization: In updateTransferStatFor(), don't search peer
	ID twice.
	* src/DefaultPeerStorage.cc
Tatsuhiro Tsujikawa 15 rokov pred
rodič
commit
96761a2572
2 zmenil súbory, kde vykonal 11 pridanie a 2 odobranie
  1. 6 0
      ChangeLog
  2. 5 2
      src/DefaultPeerStorage.cc

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+2010-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	Small optimization: In updateTransferStatFor(), don't search peer
+	ID twice.
+	* src/DefaultPeerStorage.cc
+
 2010-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 	Use vector instead of deque for MetalinkEntry and MetalinkResource

+ 5 - 2
src/DefaultPeerStorage.cc

@@ -245,10 +245,13 @@ void DefaultPeerStorage::updateTransferStatFor(const SharedHandle<Peer>& peer)
   if(logger->debug()) {
     logger->debug("Updating TransferStat for peer %s", peer->getID().c_str());
   }
-  _cachedTransferStat -= _peerTransferStatMap[peer->getID()];
+  std::map<std::string, TransferStat>::iterator itr =
+    _peerTransferStatMap.find(peer->getID());
+  assert(itr != _peerTransferStatMap.end());
+  _cachedTransferStat -= (*itr).second;
   TransferStat s = calculateStatFor(peer);
   _cachedTransferStat += s;
-  _peerTransferStatMap[peer->getID()] = s;
+  (*itr).second = s;
 }
 
 TransferStat DefaultPeerStorage::getTransferStatFor