Subject: Re: [std-proposals] Avoid copies when using string_view with APIs expecting null terminated strings
From: Thiago Macieira (thiago_at_[hidden])
Date: 2020-12-26 14:03:34
On Saturday, 26 December 2020 03:38:20 -03 Tony V E via Std-Proposals wrote:
> An implementation can probably hide the âbool inside an unused bit of the
> pointer (or length), so it can still be 16 bytes.
You may avoid a 50% growth in the class's size by introducing a data
dependency on an operation to remove that bit. That isn't free either and,
depending on how you model your cost, it could cost more than the size growth.
A third option is to use one of the unused bits in the pointer on CPUs that
support address masking / colouring. AArch64 has that and x86 published an
Instruction Extension a few days ago for this ("Linear Address Masking").
Since this is still upcoming technology, we'll probably still be discussing
systems without masking capabilities well after Jan 19, 2038.
-- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Software Architect - Intel DPG Cloud Engineering
STD-PROPOSALS list run by firstname.lastname@example.org
Standard Proposals Archives on Google Groups