[python] Re: iteratory, vlakna

Zdenek Pavlas zdenek.pavlas na nextra.cz
Čtvrtek Březen 13 14:00:34 CET 2003


Jan Samohyl wrote:

> Me by zajimal nekdo, kdo sdili me nadseni pro iteratory. Chtel jsem napsat synchronni server pres iteratory, posilal jsem o 
> tom dotaz do python konference, ale moc ohlasu to nemelo. Idea - je obsluzna select smycka, ta vola iteratory kecajici s 
> klientem, ktere vzdy vyberou nejakou pomocnou promennou a yieldnou odpoved a tim je to (ten dialog) prehledne v jedne funkci a 
> pritom "paralelni". Na superserver to asi neni, ale lepe se to kontroluje nez vlakna. Co myslite vy?

To co popisujete dela modul asyncore, akorat to nevola iteratory
ale stavove automaty. Pokud by misto nich byly generatory, muze
to byt o neco prehlednejsi.. proc ne. Ale jde o tu samou vec.
Async IO v jednom threadu se povazuje za nejefektivnejsi reseni,
s vyjimkou:

- nevyuziva dalsi CPU
- pokud obsluha jedne udalosti blokuje na disk I/O,
   blokuje i ostatni klienty.

> Mimochodem, jak je to vlastne s temi vlakny? Nekde jsem slysel, ze python ma global lock, jake to ma dusledky? Ze vlakna 
> nechodi jak maji na multiprocesorech?

Ano, tak nejak. Pokud Python aplikace vytvari dalsi vlakna, kod
kazdeho vlakna je sice interpretovan v samostatnem threadu, ale
kdyz interpretuje bytecode, drzi vzdy globalni lock, takze
interpretace nikdy nebezi soucasne na obou CPU.

Pokud mate moduly v C ktere nepotrebuji videt zmeny v objektech
na python heapu jako atomicke, muzete ten lock uvolnit a pred
navratem do interpretru zase locknout.

> Mate nekdo zkusenosti s pygame, pysdl apod.?

Kolega Jarda Benkovsky cosi v pygame napsal,
funguje to ale je to desne pomale.

> Taky by bylo fajn, kdyby sem aspon nekdo poslal, kdyz vyjde nova verze (i alpha/beta) Pythonu.

Pro mne je nova 2.3, teprve vcera jsem si cetl What's New..
Dojmy vicemene rozpacite, mam 100 chuti python brutalne
orezat na featurach a napsat komplet znova. :(


-- 
Zdenek Pavlas
Application Developer
NEXTRA Czech Republic s.r.o.  http://www.nextra.cz
The views stated in this posting are not those of the author who wrote them
and may or may not reflect wishes of Chairman of United Crime Syndicate.



Další informace o konferenci Python