11

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.

Pavel Oganesyan
  • 6,774
  • 4
  • 46
  • 84

1 Answers1

10

_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)

Community
  • 1
  • 1
David Cormack
  • 326
  • 6
  • 9