Why should I use Apache C++ Standard Library rather than any other STL implementation along with Boost? Why should I use Apache C++ Standard Library rather than any other STL implementation along with Boost? apache apache

Why should I use Apache C++ Standard Library rather than any other STL implementation along with Boost?


One of the advantages that stdxx claims seems to be true to me:

  • Optimized for fast compiles and extremely small executable file sizes

In this paper, Stroustrup talks about a new idea applied in some C++ compilers called SCARY. I first read about it in one of his papers. Anyway, this feature allows reducing produced executables size by a great amount (~1x - ~25x), and faster by (~1.2x - ~2.1x). In the first paper, he said that Rogue Wave STL supports SCARY, at least in modern implementations:

The most recent version of Rogue Wave STL has independent container iterators in its production mode, but some of the standard containers’ iterators are not independent in debug mode. N2911 explains that these dependencies are not actually required for debugging purposes and can easily be removed.

So, if stdxx is based on Rogue Wave STL, it might have this idea implemented already.


The Apache C++ Standard Library project is a complete implementation of the ISO/IEC 14882 C++ Standard Library.

The most distinguishing characteristic of this implementation of the C++ Standard Library is its portability to a large number of C++ compilers, operating systems, and hardware architectures.

Sounds like if you value extreme portability this is for you. If you don't, most everyone defaults to their compiler's default implementation, so if you ever have trouble, the community will be bigger. If you don't run into implementation issues I don't see why it should make much of a difference.

I typically get flamed for this opinion but I like the idea of having a company I can pay to fix problems, my developers (and I) aren't smart enough (or don't have the time) to dive into internals and fix bugs.


Unfortunately this library is no longer supported as of July 2013. See the mailing list announcement: http://mail-archives.apache.org/mod_mbox/stdcxx-dev/201307.mbox/browser