lasizoillo escribió:
El día 8 de junio de 2010 16:11, Antonio Beamud Montero
<[email protected]> escribió:
Fél
Si los hilos son de proceso están muy ligados a E/S te recomiendo gevent
(http://www.gevent.org/). El api es muy similar a trabajar con hilos, pero
por debajo usa libevent, para trabajar de forma asincrona.


No entiendo las ventajas de usar gevent para este caso concreto.
Entendería usarla si se dieran las siguientes condiciones:
 * No va a tener problemas con librerias que no cooperan
 * Va a necesitar de hilos a cascoporro y quiere minimizar el overhead
 * Va a sacar partido de usar los pollers (kevent, epoll, ...) que
proporciona libevent.
 * Evitar cambios de contexto en los hilos le va a suponer una ventaja

El primer punto lo veo conflictivo en su caso. Porque va a usar
librerias que no van a cooperar con los greenlets. Así que usar gevent
le puede dar más problemas que ventajas.


Cierto, he leido su mensaje un poco por encima y no me he fijado demasiado, me he guiado más por el asunto del mensaje.

No creo que vaya a necesitar de muchos hilos. Así que el número de
hilos python a usar no debería suponer mucho overhead. Tampoco creo
que vaya a notar mucha diferencia entre un poller como select o uno
como epoll si el numero de eventos registrados es mínimo.


Bueno, aqui depende de como lo programes, puedes lanzar un Greenlet por acción, evento, lo que sea, son muy ligeros.

¿Me estoy perdiendo algo del maravilloso framework gevent? ¿De qué
forma ventajosa se podría utilizar en este caso concreto? También es
verdad que si usa  gevent mediante monkey-patching la prueba es gratis
;-)


No he he seguido todo el hilo, como te comentaba. Puede que si mira gevent, a lo mejor diseña de otra forma su aplicación o le da alguna idea de como resolver algún problema que se pueda presentar, bien ahora, bien en el futuro.

Saludos.

_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a