> That's one of the reasons, I would guess. The libc memory manager is not > very efficient with multiple threads accessing it at once, it has locks > (which is one of the reasons we implemented our own in ZE2). It's > definitely one of the reasons, and as you know, performance penalties > accumulate.
Which libc are you referring to here? > Probably not much more than pthread_setspecific. I wouldn't be surprised > if __thread is built around that, actually. On Linux, there will be a huge win regarding TLS when NPTL[1] becomes stable enough. Today's Linuxthreads implementation uses a very simple mechanism to maintain TLS (calculating an object's address in software) whereas NPTL will shift this work to the processor's MMU. I expect a big win for PHP's thread-safe mode. This positive effect will be automatically achieved by continuing our use of POSIX APIs. [1] http://people.redhat.com/drepper/nptl-design.pdf and http://people.redhat.com/drepper/nptl/ - Sascha -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php