Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Intermediate
Mar 16, 1998

Enhancing Vector's Performance

Standard vector<> dynamically allocates the required amount of memory it needs; which saves you the bother of memory management. However, letting vector <> acquire additional memory slowly one chunk after another is unacceptable under real-time constraints. But this doesn't mean you have to abandon vector<> yet. In order to avoid the performance penalty of having it re-allocate memory, you can ensure that it has the right amount of memory allocated in advance, like this:
 class Message { //...
		};

#include <vector>
void RealTimeStuff( vector &vm); //severe time constraints

void main() {

using namespace std; //for vector<>

vector <Message> msgs; 


// right before a time-critical code, make room for 1000 Message //objects in advance

msgs.reserve(1000); 

//now call safely

RealTimeStuff(msgs);

}//end main()
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date