相关疑难解决方法(0)

GCC 4.8中C++ 11 thread_local变量的性能损失是多少?

来自GCC 4.8草案变更日志:

G ++现在实现了C++ 11 thread_local关键字; 这与GNU __thread关键字的不同之处主要在于它允许动态初始化和销毁​​语义.不幸的是,这种支持需要对非函数局部thread_local变量的引用进行运行时惩罚, 即使它们不需要动态初始化,因此用户可能希望继续使用__thread具有静态初始化语义的TLS变量.

这种运行时惩罚的本质和来源究竟是什么?

显然,为了支持非函数局部thread_local变量,在进入每个线程main之前需要有一个线程初始化阶段(就像全局变量的静态初始化阶段一样),但是它们指的是一些超出该阶段的运行时惩罚?

粗略地说一下gcc的thread_local新实现的架构是什么?

c++ linux multithreading gcc c++11

64
推荐指数
3
解决办法
2万
查看次数

标签 统计

c++ ×1

c++11 ×1

gcc ×1

linux ×1

multithreading ×1