Rieccomi :) Il giorno 20 maggio 2010 23.49, Manlio Perillo <manlio_peri...@libero.it> ha scritto:
> Per diverse ragioni: > > 1) Di solito le applicazioni sono I/O bound (vedi accesso ai file, alla > rete, e database), e le funzioni di I/O, in CPython ed estensioni > scritte con in mente il threading, rilasciano il GIL. > > 2) Diverse funzioni che sono CPU bound sono scritte in C, ed anche > queste rilasciano il GIL. > Vedi ad esempio PIL, e numpy. > Darò un occhiata ai sorgenti di numpy (li ho già scaricati) per capire meglio in quali condizioni rilasciano il GIL. Anche se ad oggi comunque non ho mai avuto personalmente bisogno di usare moltissime CPU-bound (e quelle poche solo per test) anche per il fatto che solitamente programmo in ambiente di rete o, come dicevi tu, applicazioni che fanno uso di funzioni I/O. > Ovviamente ci sono casi significativi in cui il codice CPU bound è in > Python puro, ed in questo caso il multiprocessing è la soluzione migliore. > Perfetto. > > > Ciao Manlio > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > Ciao :) Mille grazie per le delucidazioni, a presto! -- Alessandro A.
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python