Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What std::_lockit does?

I checked performance of c++ project and results are not so clear to me.
std::_lockit::int() has over 20% of exclusive samples. What does it do and how do I avoid overusing it? I have a lot of things created with std::vector, so there is a hope that these are connected.

like image 574
Pavel Oganesyan Avatar asked May 27 '13 09:05

Pavel Oganesyan


1 Answers

_Lockit is commonly used in Microsoft's implementation of the STL for debugging iterators. In production environments these can be the cause of significant performance bottlenecks while iterating over containers with a large number of elements.

Debugging iterators can be disabled by defining the macros _HAS_ITERATOR_DEBUGGING and _SECURE_SCL as 0 in your code, or Visual Studio project properties.

Related: Unnecessary locking in STL? (Visual C++ Express)

like image 141
David Cormack Avatar answered Oct 21 '22 19:10

David Cormack