On 03-Apr-2006, John Meacham <[EMAIL PROTECTED]> wrote:
> On Mon, Apr 03, 2006 at 02:00:33PM -0400, Wolfgang Thaller wrote:
> > About how fast thread-local state really is:
> > __thread attribute on Linux: ~ 2 memory load instructions.
> > __declspec(thread) in MSVC++ on Windows: about the same.
> > pthread_getspecific on Mac OS X/x86 and Mac OS X/G5: ~10 instructions
> > pthread_getspecific on Linux and TlsGetValue on Windows: ~10-20  
> > instructions
> > pthread_getspecific on Mac OS X/G4: a system call :-(.
> 
> how prevelant is support for __thread BTW? is it required by any
> standards or an ELFism?

It's a recent innovation that standards have not yet had time to catch
up with.  But __thread is the way of the future, IMHO.
GNU C/C++ supports __thread for at least the following architectures:

        IA-32, x86-64,
        IA-64,
        SPARC (32- and 64-bit),
        Alpha,
        S390 (31- and 64-bit),
        SuperHitachi (SH),
        HP/PA 64-bit.

It's also supported by Borland C++ builder, Sun Studio C/C++, and Visual C++.
(VC++ does use a slightly different syntax, but you can use macros to work
around that.)

-- 
Fergus J. Henderson                 |  "I have always known that the pursuit
Galois Connections, Inc.            |  of excellence is a lethal habit"
Phone: +1 503 626 6616              |     -- the last words of T. S. Garp.
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime

Reply via email to