Re: vector vs map iterator
"xyz" <email@example.com> wrote in message
I have to run the simulation of a trace file around (7gb contains
presently i am using vector iterators to check the conditions in my
it is taking 2 days to finish whole simulation.....
my question are the map iterators are faster than vector
does it improve the performance....
thanks to all
Performance for what? Insertions? Deletions? Insertions in middle? End?
Beginning? Deletion is middle? End? Beginning? Lookups in beginning?
Different containers (vector, set, map, etc...) are designed for different
tasks and each has it's power and it's weakness.
Maybe this link will help: http://www.linuxsoftware.co.nz/cppcontainers.html
maybe it won't. Check the bottom anyway to determine which container to
Also, the wiki has a little bit about the speed of some of the containers:
Really, without knowing what you are trying to optmize it is hard to say.
should be a relatively fast operation, very similar to pointer math.
std::map<Mykey, MyClass> MyMap;
/* ... */
MyMap.find( SomeKey );
is a binary search lookup.
is also a binary key lookup, with the additon of possibly adding the key and
Without knowing how you are using the vector it is hard to say. One thing I
would hope, however is that you are preallocating enough memory for your
vector so that it doesn't have to keep newing when it runs out of memory.
I have no idea why your operation is taking 2 days, maybe it should be.
Maybe it shouldn't. :But without knowing more about what you are actually
doing anything we come up with is a shot in the dark.