kre*_*ieg 13 c++ multithreading locale visual-c++
出于好奇.在过去,我已经看到了功能性能下降喜欢boost::to_lower的,因为CriticalSection在使用std::use_facet时,小懒分配.据我记得,有一个全局锁定区域设置的错误,但根据Stephan Lavavej,它已在VS2013中修复.瞧,昨天我看到了锁定服务器性能的方面,所以我想我混淆了两个不同的问题.
但首先,为什么有一个CriticalSection懒惰的方面呢?显然它会破坏性能.为什么他们没有决定对指针进行某种可升级的锁定或原子操作?
MSVC++ std::locale是根据底层C函数实现的setlocale.它触及全局状态,因此必须受到锁定的保护.
遗憾的是,更改数据结构的锁定语义是ABI的重大变化,因此我们暂时无法做到这一点.
| 归档时间: |
|
| 查看次数: |
658 次 |
| 最近记录: |