I have supplied you with this code, not as a workaround but as a
demonstration of your point. If your code performs differently, show
it. It does, in fact, pack the data in VS2008.
Then post your code. This code is still too slow to be useful for
I gave up on the process in debug mode after 27 minutes, which was
already a hell of a long time to initialize a billion bits IMO. I also
was able to see that in VC 2008 it IS packed. It's not packed in VC 6
which implemented vector<bool> as an array of bytes.
This is a public discussion group, not a private line to MS. I was
hoping you would shed some light on the problem but I can see you are
just another Internet know-it-all with a bad attitude.
Yes, it is slow because vector::resize() calls a protected insert
member, go read the source in the vector implementation.
The implementation is flawed, it fails when instantiating
v.resize(v.max_size()/2); I expect the entire class fails in the same
way on all platforms, not just VS2008. Saying it is "not scaleable" is
being generous. I haven't seen a genuine MS employee post here in two
years and certainly not from the VS development team.
If you had bothered to investigate the class you would know the origin
of the STL and know that it is STANDARD and not original with MS. The
class fails in the same way on other platforms. (I tested Linux and OS
Have a nice day.