I missed one:
On Monday 18 January 2016 23:43:37 Marc Mutz wrote:
> #include <QVector>
> #include <string>
>
> int main() {
>
> QVector<QByteArray> l;
> int oldC = l.capacity();
> for (int i = 0; i < 10000000; ++i) {
> char buf[std::numeric_limits<int>::digits + 1];
> sprintf(buf, "%d", i);
> l.push_back(buf);
> int newC = l.capacity();
> if (newC != oldC)
> qDebug("%d", newC);
> oldC = newC;
> }
>
> }
>
> $ time ./test
> <snip>
> real 0m1.769s
> user 0m1.572s
> sys 0m0.192s
Same with std::vector<QByteArray>:
real 0m1.776s
user 0m1.616s
sys 0m0.156s
> best of three runs, core i7-2720QM, GCC 5.3
Ditto.
So... is realloc actually the optimisation everyone (incl. me) expected it to
be?
--
Marc Mutz <[email protected]> | Senior Software Engineer
KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development