> 2014-03-15 0:54 GMT+01:00 Giampaolo Rodola' <g.rod...@gmail.com>: > >> >> 2014-03-14 18:12 GMT+01:00 Manlio Perillo <manlio.peri...@gmail.com>: >> >> Ogni coroutine è come un thread ed ha bisogno di memoria per lo stack, >>> oltre poi al costo per il context switch. >>> >> >> Rispetto ad un thread il costo è però pressochè nullo. >> > > Roberto tempo fa ha scritto che ha visto applicazioni con gevent con > utilizzo pesante della CPU, nel caso di molte coroutine. > >
purtroppo si, le greenlet hanno comunque uno stack e gevent comunque in media chiama molte piu' syscall rispetto ad un uso classico (per svariati motivi). E' un prodotto/progetto che adoro, ma va' usato nei posti e nel modo giusto. Oggi ho buttato giu' questo: http://uwsgi-docs.readthedocs.org/en/latest/articles/OffloadingWebsocketsAndSSE.html ... bisogna farla finita di credere alla favola che django gira "gratis" su gevent (tantomeno su tornado)... Non c'e' niente da fare, il vantaggio di nodejs, Go ecc. ecc. e' che TUTTE le librerie di terze parti sono "non-blocking-friendly" (passatemi il termine) e quindi gli utenti (piu' o meno) non devono preoccuparsi di nulla... questo non puo' avvenire (facilmente) con i linguaggi che sono nati in un mondo multiprocess/multithread e che gia' hanno una libreria sconfinata di moduli di terze parti (costruita in decenni).. In ogni caso il passaggio non potra' essere indolore (e gia' ci sono le prime vittime, senza contare quelli che hanno proprio disertato cambiando bandiera...) -- Roberto De Ioris http://unbit.it _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python