problem to write a THREAD enabled python extension

Andreas Otto aotto1968 at users.sourceforge.net
Tue Aug 25 07:24:37 EDT 2009


Stefan Behnel wrote:

> 
> You forgot to create a thread state for the new thread. See the
> PyThreadState_New() function.
> 

this does not really solve the problem even if the original error does no 
happen anymore ...

but a bucket of other error happen >>> sometimes <<< and this mean
that time and (I call it so) internal state stuff has influence on the 
problem and create errors like:

 1. http://mail.python.org/pipermail/python-list/2004-January/242740.html
 2. various PyThreadState_Get -> PyThreadState_Get: no current thread
 3. sometimes ThreadState has NULL sometimes not and NULL create an
     CORE for "tstate" pointer access operations
 4. ... a lot of other problems too

all problems together I come to the conclusion:

 1. I spend ~ 1week for a job done in C# or java in a day - and have no
     usable solution
 2. python need a couple of 100+ C API function for the same job
     java need 10+
 3. the design on the C-API is amateurish -> significant parts are
     implemented as GLOBAL variables
 4. the thread support is not more than a joke -> go to 3
 5. after pay a lot of effort to get something working the final solution 
     is significant slower than C# or JAVA
 6. you can not truss any-thing in python because you never know
     if under some circumstance you get a CORE 
 
the resulting PYTHON code is usable but not significant more readable
as JAVA, C* or even C++ code


mfg

  aotto1968




More information about the Python-list mailing list