[Development] Question about QCoreApplicationData::*_libpaths

Marc Mutz marc.mutz at kdab.com
Tue Jan 19 13:51:56 CET 2016


On Tuesday 19 January 2016 11:15:43 Milian Wolff wrote:
> On Dienstag, 19. Januar 2016 11:51:42 CET Marc Mutz wrote:
> > 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?
> 
> Did you run it through a profiler? Where is the time actually spent?

No. It's not the IO, though. Removing the qDebug() and capacity tracking, it 
performs the same, within error margins.

-- 
Marc Mutz <marc.mutz at kdab.com> | Senior Software Engineer
KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts



More information about the Development mailing list