La bibliothèque prend et manipule des données indexées de 0 à N, donc des séquences dans le jargon de python. On peut donc notamment faire de l'accès aléatoire au données, c'est à dire demander le i-ème élément directement à la différence d'une API à base d'itérateurs par exemple.
L'objet renvoyé par prefetch ne fait pas exception, mais du fait qu'il récupère les valeurs de manière asynchrone il faut réordonner les réponses, renvoyer l'élément réclamé et mettre dans un tampon les autres.
Certes, prefetch ne donne un gain de vitesse que quand on itère sur la séquence, mais il y a un intérêt à garder la possibilité d'accéder à un élément aléatoire: on ne casse pas l'api même si on place le prefetch au milieu d'un série de transformations et on peut plus facilement accéder à une valeur quelconque durant le prototypage ou le débogage.
J'ai regardé RxPython à un moment, mais je voulais une API plus générique, plus pythonique et plus transparente à l'utilisation (c'est pas une critique, c'est juste un autre cas d'usage AMHA).
[^] # Re: Merci
Posté par nlgranger . En réponse au journal SeqTools 1.0.0: la programmation concurrente, c'est dur!. Évalué à 1. Dernière modification le 06 janvier 2020 à 10:47.
La bibliothèque prend et manipule des données indexées de 0 à N, donc des séquences dans le jargon de python. On peut donc notamment faire de l'accès aléatoire au données, c'est à dire demander le i-ème élément directement à la différence d'une API à base d'itérateurs par exemple.
L'objet renvoyé par
prefetchne fait pas exception, mais du fait qu'il récupère les valeurs de manière asynchrone il faut réordonner les réponses, renvoyer l'élément réclamé et mettre dans un tampon les autres.Certes,
prefetchne donne un gain de vitesse que quand on itère sur la séquence, mais il y a un intérêt à garder la possibilité d'accéder à un élément aléatoire: on ne casse pas l'api même si on place le prefetch au milieu d'un série de transformations et on peut plus facilement accéder à une valeur quelconque durant le prototypage ou le débogage.J'ai regardé RxPython à un moment, mais je voulais une API plus générique, plus pythonique et plus transparente à l'utilisation (c'est pas une critique, c'est juste un autre cas d'usage AMHA).