On Wed, 17 Aug 2011, Paolo Bonzini wrote: > On 08/17/2011 10:51 AM, Blue Swirl wrote: > > > Visual C++ supports __declspec(thread). > > > > > > pthread TLS is orders of magnitudes slower than __thread. __thread in an > > > executable is just as fast as a non-TLS variable access, 2 or 3 machine > > > language instructions at most. > > > > > > Some pthread_getspecific implementation do a_linear walk_ of the keys. > > In > > > that case it may work to have something like Windows plus a single > > > pthread_getspecific key. On the other hand, Windows provides very good > > > support for that thanks to its ordered subsections (.tls$something). It > > > only needs a bit of preprocessor magic. Thinks such as linker scripts > > would > > > be way out of scope. > > > > According to this blog, also pthread_getspecific on OSX can amount to > > three instructions except on PPC: > > http://lifecs.likai.org/2010/05/mac-os-x-thread-local-storage.html > > I'll try to work out a DEFINE_TLS/DECLARE_TLS version for pthreads too. > > BTW, __thread is in C1X too though I don't remember how they called it. >
thread_local 3.7.2 in n3290.pdf -- mailto:av1...@comtv.ru