Comments on: En attendant asyncio http://sametmax.com/en-attendant-asyncio/ Du code, du cul Sat, 07 Nov 2015 11:08:18 +0000 hourly 1 http://wordpress.org/?v=4.1 By: Victor Stinner http://sametmax.com/en-attendant-asyncio/#comment-20757 Wed, 05 Mar 2014 01:42:04 +0000 http://sametmax.com/?p=8781#comment-20757 “concernant trollius j’ai hate de voir comment on va reussir a faire une lib compatible asyncio et trollius.”

Bonjour, j’ai écrit une section dédiée dans la documentation:
http://trollius.readthedocs.org/#write-code-working-on-trollius-and-tulip

(Note: je suis l’auteur de Trollius.)

]]>
By: Sam http://sametmax.com/en-attendant-asyncio/#comment-19127 Wed, 29 Jan 2014 16:20:51 +0000 http://sametmax.com/?p=8781#comment-19127 Oui c’est à peu près ça. Je te sens déçu mon pti Benoit. Tu espérais que je règle tes problèmes d’erection ?

]]>
By: Benoit http://sametmax.com/en-attendant-asyncio/#comment-19122 Wed, 29 Jan 2014 15:34:28 +0000 http://sametmax.com/?p=8781#comment-19122 @ Sam en gros ton article c’est surtout “En attendant de faire des IO asynchrones, on va utiliser des threads”. Et finalement, t’as fait ça: https://medium.com/building-things-on-the-internet/40e9b2b36148 mais en moins bien.

Well done john. t’es devenu un blogueur influent :)

]]>
By: Sam http://sametmax.com/en-attendant-asyncio/#comment-19121 Wed, 29 Jan 2014 15:21:33 +0000 http://sametmax.com/?p=8781#comment-19121 @Thomas: tu encules des mouches là. L’article n’est pas un cours fondamental sur l’implémentation de l’IO aynschrone, il démontre comment faire de l’IO asynchrone facilement avec la lib standard tant qu’on a pas une solution spécialisée comme asyncio pour le faire. Bien sûr que les threads ne sont pas la même chose que le multiplexing, mais on s’en branle, ce qui nous interesse c’est que notre code n’attende pas pendant que l’IO bloque.

]]>
By: Sam http://sametmax.com/en-attendant-asyncio/#comment-19119 Wed, 29 Jan 2014 15:02:30 +0000 http://sametmax.com/?p=8781#comment-19119

Tu parles d’IO asynchrone, mais tu mets dans un exemple des IO bloquantes dans des threads.

Les threads en Python ne servent qu’à ça : faire des opérations bloquantes en parallèle. Il n’y a aucun autre interêt du fait du GIL.

Pourquoi n’as-tu pas parlé de gevent ou twisted alors ?

Parce que ce post se concentre sur les solutions de la stdlib.

Du coup, tu essayes de répondre à l’asynchrone, mais pas au principes d’IO.

J’ai hate que tu m’explique ce qu’est le principe d’IO. Et ce que veut dire “répondre à l’asynchrone”.

Mais t’as ptet jamais codé de client ou serveur un peu plus bas niveau avec poll/kpoll/select en fait ?

Mais quel rapport avec la choucroute ? C’est comme si on parlait d’outils de compilation et que tu me demandais si j’avais codé en assembleur.

Aller, je suis un mec cool, je vais te guider dans tes recherches

C’est mignon.

Et donc Asynchronous I/O n’est pas uniquement “asynchrone” :)

Ah. Alors là effectivement je ne peux plus rien dire. Asynchronious I/O. asyncio. Ce n’est pas uniquement pour faire de l’asynchrone.

D’ailleurs, dans le lien que tu donnes, la première ligne n’est pas du tout :

This module provides infrastructure for writing single-threaded concurrent code using coroutines, multiplexing I/O access over sockets and other resources

Bref, de l’IO asynchrone.

Bonne journée.

]]>
By: benoit http://sametmax.com/en-attendant-asyncio/#comment-19117 Wed, 29 Jan 2014 14:37:36 +0000 http://sametmax.com/?p=8781#comment-19117 Ah, mais en fait t’as pas bien compris asyncio.

http://docs.python.org/3.4/library/asyncio.html

Et donc Asynchronous I/O n’est pas uniquement “asynchrone” :)

]]>
By: Benoit http://sametmax.com/en-attendant-asyncio/#comment-19115 Wed, 29 Jan 2014 14:31:59 +0000 http://sametmax.com/?p=8781#comment-19115 Max, Sam,

Tu parles d’IO asynchrone, mais tu mets dans un exemple des IO bloquantes dans des threads.
Pourquoi n’as-tu pas parlé de gevent ou twisted alors ?

Du coup, tu essayes de répondre à l’asynchrone, mais pas au principes d’IO.
Mais t’as ptet jamais codé de client ou serveur un peu plus bas niveau avec poll/kpoll/select en fait ?

Aller, je suis un mec cool, je vais te guider dans tes recherches:

http://man7.org/linux/man-pages/man2/socket.2.html
fais donc un “grep” sur SOCK_NONBLOCK

Merci pour tes réponses !

]]>
By: Thomas http://sametmax.com/en-attendant-asyncio/#comment-19114 Wed, 29 Jan 2014 14:30:57 +0000 http://sametmax.com/?p=8781#comment-19114 “j’attends avec impatience asyncio qui, grâce à yield from, va intégrer l’asynchrone de manière plus naturelle au langage.”
=> C’est surtout complètement différent.

asyncio repose sur l’utilisation de librairies asynchrones (select, epoll, kqueue, etc.) et non pas sur du multithreading.

Votre article ne mentionne pas cette différence fondamentale, ce qui donne l’impression que le sujet n’est pas maitrisé.

]]>
By: Sam http://sametmax.com/en-attendant-asyncio/#comment-19110 Wed, 29 Jan 2014 14:06:07 +0000 http://sametmax.com/?p=8781#comment-19110 Cher Benoit, tu cumules le droit à plusieurs tampon, alors j’en ai choisis un fédérateur.

D’abord, l’article s’intitule clairement “En attendant asyncio”. Je vois pas comment on peut faire plus clair.

Ensuite, comme expliqué dans l’article pointé par le PREMIER LIEN qui est donné, l’interêt de l’asynchrone est justement de faire de l’IO non bloquant. Sinon ça n’a AUCUN interêt.

Or cet article montre exactement comment télécharger du contenu web (donc de faire de de l’IO) sans bloquer, en utilisant des pools de threads ou de process. EN ATTENDANT qu’asyncio soit de la partie avec la 3.4.

]]>
By: benoit http://sametmax.com/en-attendant-asyncio/#comment-19108 Wed, 29 Jan 2014 13:53:08 +0000 http://sametmax.com/?p=8781#comment-19108 Hello,

Votre article parle d’asyncio mais finalement vous ne traitez pas le sujet:

“””
Notez qu’on peut remplacer ProcessPoolExecutor par ThreadPoolExecutor si vous n’avez pas besoin d’un process séparé mais juste de l’IO non bloquant.
“””
Ce n’est pas exactement le but d’asyncio d’utiliser un pool de thread ou de process, mais bien d’avoir une lib asynchrone comme par exemple https://github.com/aaugustin/websockets ou http://asyncio-redis.readthedocs.org/en/latest/

Bref, je suis persuadé que vous allez etre capables de faire un article plus complet, et je l’attend avec impatience.

concernant trollius j’ai hate de voir comment on va reussir a faire une lib compatible asyncio et trollius.

]]>