> On 04 Jul 2016, at 00:44, Chris Lattner via swift-evolution 
> <[email protected]> wrote:
> 
> 
>> On Jul 3, 2016, at 2:42 PM, Daryle Walker via swift-evolution 
>> <[email protected]> wrote:
>> 
>> Since objects aren't addressable by default, there wouldn't be the problems 
>> with a bit-packed Boolean collection that C++'s "vector<bool>" has. Does 
>> "[Bool]" currently have the option of packed optimization, or would  it have 
>> to be added via a proposal?  Or does it have to be a separate type instead?
> 
> It has to be a separate “bitvector” type.
> 
> FWIW, C++’s vector<bool> optimization is widely considered to be a bad idea, 
> and many people have talked about trying to remove it from the C++ standard 
> entirely.

AFAIK, the problem lies within the vector<bool> implementation. Other 
bit-packed implementations (e.g. boost:dynamic_bitset) are much more efficient. 
In certain cases, there are performance advantages to the bit packed 
representation as it is more cache-friendly. 

That said, I don’t think that such specialised data structures should be part 
of the standard library. I’d leave this to a third-party solution.

— Taras 

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to