comparison Python/thread.c @ 12584:cde4da18c4fa legacy-trunk

Fast NonRecursiveMutex support by Yakov Markovitch, markovitch@iso.ru, who wrote: Here's the new version of thread_nt.h. More particular, there is a new version of thread lock that uses kernel object (e.g. semaphore) only in case of contention; in other case it simply uses interlocked functions, which are faster by the order of magnitude. It doesn't make much difference without threads present, but as soon as thread machinery initialised and (mostly) the interpreter global lock is on, difference becomes tremendous. I've included a small script, which initialises threads and launches pystone. With original thread_nt.h, Pystone results with initialised threads are twofold worse then w/o threads. With the new version, only 10% worse. I have used this patch for about 6 months (with threaded and non-threaded applications). It works remarkably well (though I'd desperately prefer Python was free-threaded; I hope, it will soon).
author Guido van Rossum <guido@python.org>
date Thu, 04 May 2000 18:47:15 +0000
parents c27f484aefff
children b320cf3a98b9
comparison
equal deleted inserted replaced
12583:db9458c2b631 12584:cde4da18c4fa