[Twisted-Python] using spread/perspective broker

Bob Ippolito bob at redivi.com
Tue Feb 15 14:02:55 MST 2005


On Feb 15, 2005, at 15:35, snacktime wrote:

>>
>> Use one process, and any CPU intensive in a thread pool? If the CPU
>> intensive bit involves C code it will use multiple CPUs.
>>
>
> There really isn't anything cpu intensive.  The application is a
> simple line based protocol with ssl that accepts multiple requests per
> session to keep the ssl connection startup overhead to a minimum.  It
> does some string formatting, an https POST to another server, a couple
> of database queries, and it's done.  I was throwing around 100
> transactions per second at it and it wasn't even using 1% of the cpu.
>
>  After thinking about this I've decided not to worry so much about the
> perception some people might have.
>
> When you say C code will use multiple cpu's, do you mean that if a
> module is written in C, it no longer uses the GIL?  I seem to remember
> something along these lines but I haven't looked into all the details
> of when the GIL comes into play and when it doesn't.

The GIL is always used, but you can explicitly release and acquire it 
from C code if you're not doing anything with PyObjects for a period of 
time (i.e. waiting for I/O, doing computation, etc.).

-bob





More information about the Twisted-Python mailing list