|
Boost Users : |
From: Miles Bader (miles.bader_at_[hidden])
Date: 2007-09-20 09:43:18
Thorsten Ottosen <thorsten.ottosen_at_[hidden]> writes:
> Just about any boost library has the implicit assumption that assertions
> are compiled away *if the optimal efficiency/smallest code is to be gained*.
...
> Anyway, to justify why assertions should be disabled in release mode,
> I recommed:
>
> http://www.artima.com/cppsource/deepspace.html
>
> In particular, read the section on "The Principle of Removability".
Well I certainly agree with "The Principle of Removability" (who
wouldn't?). However, there seems to be an implicit assumption that
software is always in one of two states: "debugging/development" (where
speed is not that important, and extra careful checking is needed) and
"release" (where speed is very important, and extra careful checking
would be wasted or even harmful).
I find that for much of the software I write, that isn't an accurate
model -- I need speed, but I don't want to forgo debuggability/checking
in cases where the speed hit is not excessive. Because of this, I think
it's useful to have more than just "all on" or "all off", because the
cost of various debugging code varies a lot...
Thanks,
-Miles
-- We have met the enemy, and he is us. -- Pogo
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net