[Development] Question about QCoreApplicationData::*_libpaths
Bubke Marco
Marco.Bubke at theqtcompany.com
Sun Jan 24 11:41:25 CET 2016
Folly string is doing CoW only for sizes bigger than 255 and I believe Facebook has measured it because for them it is money. ;-) I am not sure if they use atomics. Maybe you could benchmark them too.
On January 24, 2016 03:21:31 Marc Mutz <marc.mutz at kdab.com> wrote:
> On Sunday 24 January 2016 03:01:57 Kevin Kofler wrote:
>> Marc Mutz wrote:
>> > On Friday 22 January 2016 20:46:54 Marc Mutz wrote:
>> >> Which one is faster? On a dual-core, probably QVector. On a 64-core
>> >> processor, probably std::vector.
>> >
>> > Running attached test program (4 cores + 2-fold HT), I get these numbers:
>>
>> That's already 8 virtual cores. He wrote "on a dual-core". :-)
>
> Not that I didn't post the code, so you could run the benchmark on your
> machine, or with numThreads hard-coded to 2...
>
> QVector:
>
> 1: 111
> 2: 100
> 4: 111
> 8: 115
> 16: 139
> 32: 179
> 64: 204
> 128: 337
> 256: 644
> 512: 1287
> 1024: 2611
> 2048: 5020
> 4096: 10113
>
> std::vector:
>
> 1: 63
> 2: 63
> 4: 65
> 8: 69
> 16: 119
> 32: 198
> 64: 264
> 128: 375
> 256: 735
> 512: 1385
> 1024: 2719
> 2048: 5545
> 4096: 10444
>
> (numThread == 2, same box)
>
> Copying is still not significantly slower than ref-counting, even for 4K
> elements.
>
> And yes, this suprises even me, but since it perfectly matches my expecations,
> at least qualitatively, I won't spend more time trying to understand this. The
> code is there, I took great care to make it fair, now the CoW fanboys can
> explain this (or find a bug in the benchmark).
>
> At least it seems as if the allocator has a very fast path for
> alloc/dealloc/alloc/dealloc/etc chains of a same-sized memory block.
>
> Thanks,
> Marc
>
> --
> 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
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
--
Sent from cellphone, sorry for the typos
More information about the Development
mailing list