From: Ulrich Eckhardt (doomster_at_[hidden])
Date: 2008-04-13 16:45:40
On Saturday 12 April 2008 00:07:50 Mat Marcus wrote:
> In a recent thread regarding issues in the boost::System library, we
> began a discussion on the performance cost, *in release builds*, of
> accepting the default Microsoft compiler setting that enables the
> so-called secure STL feature. In this post I am adding some source
> code excerpts, from a colleague's benchmark suite, that I used to
> generate the results (reproduced below). I am also changing the
> subject line to better reflect the topic under discussion.
> Summary: In VC8 (Dev Studio 2005) and later, Microsoft's 'secure' STL
> feature (enabled by default) can cause a slowdown of more than an
> order of magnitude in the execution of performance critical algorithms
> in release builds. I suspect that many projects would benefit from
> ensuring that _SECURE_SCL=0 for release configurations. I recommend
> that boost ships with this feature disabled by default for (at least)
> release builds.
Well, one thing is sure for me, all the libraries should have the 'g' in their
name, in order to mark diagnostic builds then. This mode was up to the
appearance of VC8 just an addition to the normal 'd' debug mode, but is
theoretically independent thereof. In my eyes, all this is no big deal and we
already have the means to handle this in place. People can build 'real'
release versions that define _SECURE_SCL=0 and thus get rid of the 'g'
Well, at least it's my opinion how it _should_ all work...
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk