On Apr 10, 2005, at 2:48 PM, Michael Hudson wrote:
James Y Knight firstname.lastname@example.org writes:
On Apr 10, 2005, at 11:22 AM, Michael Hudson wrote:
Bob Ippolito email@example.com writes:
Is there a good reason to *not* call PyEval_InitThreads when using a threaded Python?
Well, it depends how expensive ones OS's locking primitives are, I think. There were some numbers posted to the twisted list recently that showed it didn't make a whole lot of difference on some platform or other... I don't have the knowledge or the courage to make that call.
Sounds like it would just be easier to implicitly call it during Py_Initialize some day.
That might indeed be simpler.
Here's the numbers. It looks like something changed between python 2.2 and 2.3 that made calling PyEval_InitThreads a lot less expensive. So, it doesn't seem to make a whole lot of difference on recent versions of Python.
Thanks. I see similar results for 2.3 and 2.4 on OS X (don't have 2.2 here).
It's very much a guess, but could this patch:
[ 525532 ] Add support for POSIX semaphores
be the one to thank?
No, Mac OS X doesn't implement POSIX semaphores.