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.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
_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)