> 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
