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

Reserved vector elements based on profiler results.
	* src/DefaultBtInteractive.cc
	* src/DefaultBtProgressInfoFile.cc
pull/1/head
Tatsuhiro Tsujikawa 2010-03-01 16:13:42 +00:00
parent 72e475dfde
commit 18ea756a74
3 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reserved vector elements based on profiler results.
* src/DefaultBtInteractive.cc
* src/DefaultBtProgressInfoFile.cc
2010-03-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Avoid to calculate end() iterator in each loop. std::deque is

View File

@ -328,6 +328,7 @@ void DefaultBtInteractive::fillPiece(size_t maxMissingBlock) {
if(peer->peerChoking()) {
if(peer->isFastExtensionEnabled()) {
std::vector<size_t> excludedIndexes;
excludedIndexes.reserve(btRequestFactory->countTargetPiece());
btRequestFactory->getTargetPieceIndexes(excludedIndexes);
while(numMissingBlock < maxMissingBlock) {
SharedHandle<Piece> piece =
@ -343,6 +344,7 @@ void DefaultBtInteractive::fillPiece(size_t maxMissingBlock) {
}
} else {
std::vector<size_t> excludedIndexes;
excludedIndexes.reserve(btRequestFactory->countTargetPiece());
btRequestFactory->getTargetPieceIndexes(excludedIndexes);
while(numMissingBlock < maxMissingBlock) {
SharedHandle<Piece> piece =
@ -366,6 +368,7 @@ void DefaultBtInteractive::addRequests() {
0 : _maxOutstandingRequest-dispatcher->countOutstandingRequest();
if(reqNumToCreate > 0) {
std::vector<SharedHandle<BtMessage> > requests;
requests.reserve(reqNumToCreate);
if(_pieceStorage->isEndGame()) {
btRequestFactory->createRequestMessagesOnEndGame(requests,reqNumToCreate);
} else {

View File

@ -180,6 +180,7 @@ void DefaultBtProgressInfoFile::save()
o.write(reinterpret_cast<const char*>(&numInFlightPieceNL),
sizeof(numInFlightPieceNL));
std::vector<SharedHandle<Piece> > inFlightPieces;
inFlightPieces.reserve(_pieceStorage->countInFlightPiece());
_pieceStorage->getInFlightPieces(inFlightPieces);
for(std::vector<SharedHandle<Piece> >::const_iterator itr =
inFlightPieces.begin(), eoi = inFlightPieces.end();
@ -345,6 +346,7 @@ void DefaultBtProgressInfoFile::load()
numInFlightPiece = ntohl(numInFlightPiece);
}
std::vector<SharedHandle<Piece> > inFlightPieces;
inFlightPieces.reserve(numInFlightPiece);
while(numInFlightPiece--) {
uint32_t index;
in.read(reinterpret_cast<char*>(&index), sizeof(index));