C++ Logo

std-proposals

Advanced search

Re: Flash Alloc - 3x faster

From: DBJ <dbj_at_[hidden]>
Date: Tue, 27 Jul 2021 22:18:01 +0200
Phill, please add your allocator here https://godbolt.org/z/drEnYera1 and
report back, if that is OK to ask of you.

Please note the benchmarking infrastructure in use and allocator interface
so that it can be used as a template argument to std::vector. I might dare
to call that code: "realistic benchmarking".

Kind regards...

On Sat, 24 Jul 2021 at 20:44, Phil Bouchard <boost_at_[hidden]> wrote:

> Yeah I updated it again (disabled page_t initialization) so in general
> it's more like 3x faster. Which is good if you require low-latency
> (finance, gaming industry, ...). That's why we all use C++ after all, no?
>
>
> --
>
> *Phil Bouchard*
> Founder & CTO
> C.: (819) 328-4743
>
> [image: Fornux Logo] <http://www.fornux.com>
>
>
> On 7/24/21 12:18 PM, Phil Bouchard via Std-Proposals wrote:
>
> Interestingly, if I increase the LOOP_SIZE the overall time taken is less
> thus is faster. Also please keep DATASET_SIZE to 1 because I didn't test it
> with other sizes.
>
> I'll follow later this weekend, meanwhile I've put the code here:
>
> https://github.com/philippeb8/Flash-Alloc
>
>
> --
>
> *Phil Bouchard*
> Founder & CTO
> C.: (819) 328-4743
>
> [image: Fornux Logo] <http://www.fornux.com>
>
>
> On 7/24/21 6:19 AM, DBJ wrote:
>
> https://godbolt.org/z/T4qc5o8Mb
>
> that turns out to be many times slower vs. std::allocator<> ...
>
> I must be doing something wrong?
>
> On Sat, 24 Jul 2021 at 09:40, Phil Bouchard via Std-Proposals <
> std-proposals_at_[hidden]> wrote:
>
>> And here's a more generic one that is 10x faster for straight allocations.
>>
>> Anyway my point being that apparently the rebind oddity has been removed
>> from the C++20 standards but not from my system headers... So perhaps
>> adding a similar ultra fast allocator such as this one into the stdlib
>> would be constructive.
>>
>>
>> Regards,
>>
>> --
>>
>> *Phil Bouchard*
>> Founder & CTO
>> C.: (819) 328-4743
>>
>> [image: Fornux Logo] <http://www.fornux.com>
>>
>>
>> On 7/23/21 10:23 PM, Phil Bouchard via Std-Proposals wrote:
>>
>> Greetings,
>>
>> Given the default memory allocator is known to be slow, it came to my
>> attention that if we collect more information at compile-time regarding not
>> only the type being allocated but the container type and the usage
>> frequency then we can have much higher performance.
>>
>> In the attached example, if we use a queue then we can speed up the
>> overall allocation time by 7x!
>>
>>
>> Regards,
>> --
>>
>> *Phil Bouchard*
>> Founder & CTO
>> C.: (819) 328-4743
>>
>> [image: Fornux Logo] <http://www.fornux.com>
>>
>> --
>> Std-Proposals mailing list
>> Std-Proposals_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
>>
>
>

Received on 2021-07-27 15:18:26