This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Vector (string?) growth factor of 1.5 (insted of 2)


On Tue, 2004-02-03 at 05:41, Paolo Carlini wrote:
> Gabriel Dos Reis wrote:
> 
> > if the only thing you have is a genuine input iterator you're
> > effectively stuck. However, if you have at least a bidirectional
> > iterator, then you can have an idea of the amount staorage you need.
> > We already have dispatchers that compute those iterator categories.
> > It might be a good idea to take advantage of them.
> 
> Ok. I think that, by and large, we already do our best, both in
> string and in vector...
> 
> A detail comes to my mind, though: perhaps, at construction time,
> speed matters more and, in the case of the constructor from input
> iterators, we should allow for a bigger factor. Later, memory usage
> matters more and a smaller factor seem in order (-> as you say, if
> the max speed is really needed reserve is always available, then).

Yes. This seems to me to be a really nice suggestion! Make the growth
factor inversely proportional to the size of the vector.


<OT>
Is there any way that current users of libstdc++-v3 who are using the
STL in their 'real apps' can send performance stats. to this group so
that instead of relying on the (synthetic) test suites that we currently
use, we can study the way real apps. interact with the other sub-systems
of the machine including the memory sub-system?
</OT>



> P.S.: there is a minor twist, which makes string slightly different
> from vector: for the former is really trivial a shrink to fit
> (reserve(0)), whereas for vector the slightly less intuitive trick
> described in the docs (pointed out by Nathan) is necessary.
-- 
	-Dhruv Matani.
http://www.geocities.com/dhruvbird/




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]