Re: VC++2005 executables much slower than VC++6????
"Nemanja Trifunovic" wrote:
I purposely won't
bring the argument whether additional checks worth
potential
slowdown (although, in my opinion, they mostly worth it).
In my opinion, they are not. We are using C++ not because
it is "safe",
but because it is fast and flexible. When I am ready to
pay the
"safety" toll in performance, I simply use a language that
was designed
with that mindset.
First of all, this principle for language itself wasn't
changed. We still get "what we paid for" and only that with
C++ compiler. Second, the Standard Library performs now more
checks by default because surrounding world changes and
imposes new requirements on software development. I agree
with Carl Daniel on that issue, see his comments above in
this thread. Doing another couple of checks is negligible
"waste" of resources for modern computer. However, the ROI
of these checks is high.
The higher importance of stable and secure software is
universally recognized nowadays. That's why library vendors
incorporate more checks. These improvements are rather
accepted by developing community than rejected. This happens
due to simple fact that price of software failure becomes to
be higher than presence of "redundant" check. Otherwise
industry wouldn't accept this changes in libraries.
Moreover, you can turn checks off at any time, so if you
don't want to pay you're not required to.
The suggestion to switch to other STL than default one
(with
all the cost that results from that) just because of
artificial benchmark speed test doesn't sound solid
enough
for me.
In general I agree, but OP is obviously a CS student and
arguments like
these are not applicable. Switching between several STL
implementations
is a good learning exercise, IMHO.
Agreed.
Alex