Merci pour ton commentaire, je vais jeter un œil au forkserver et aussi à ipyparallel qui pourrait me servir au boulot.
Je n'ai pas voulu trop rentrer dans les détails pour le journal, mais ton premier point est aussi une des raisons pour lesquelles j'ai retiré le timeout sur les processus inactifs. Pour un de mes scripts, j'avais désactivé l'overcommit car je ne voulais pas me retrouver bloqué à l'extérieur de mon serveur en cas de fuites mémoire. Comme les forks pour redémarrer des workers avaient lieu pendant que je travaillais sur un gros tableau, j'avais des OutOfMemory rapidement.
Au sujet de ton deuxième point, c'est vrai mais ce n'est pas aussi terrible que je le craignais initialement. cPickle est pas mal optimisé donc la latence est négligeable dans beaucoup de mes cas d'utilisation. En revanche, j'ai fait quelques essais avec l'interpréteur PyPy qui implémente pickle en pur python et c'est souvent trop lent. Je ré-essaierai PyPy avec la mémoire partagée quand ils auront corrigé un bug dans le support des extensions.
[^] # Re: Oui c'est compliqué
Posté par nlgranger . En réponse au journal SeqTools 1.0.0: la programmation concurrente, c'est dur!. Évalué à 4.
Merci pour ton commentaire, je vais jeter un œil au forkserver et aussi à ipyparallel qui pourrait me servir au boulot.
Je n'ai pas voulu trop rentrer dans les détails pour le journal, mais ton premier point est aussi une des raisons pour lesquelles j'ai retiré le timeout sur les processus inactifs. Pour un de mes scripts, j'avais désactivé l'overcommit car je ne voulais pas me retrouver bloqué à l'extérieur de mon serveur en cas de fuites mémoire. Comme les forks pour redémarrer des workers avaient lieu pendant que je travaillais sur un gros tableau, j'avais des OutOfMemory rapidement.
Au sujet de ton deuxième point, c'est vrai mais ce n'est pas aussi terrible que je le craignais initialement. cPickle est pas mal optimisé donc la latence est négligeable dans beaucoup de mes cas d'utilisation. En revanche, j'ai fait quelques essais avec l'interpréteur PyPy qui implémente pickle en pur python et c'est souvent trop lent. Je ré-essaierai PyPy avec la mémoire partagée quand ils auront corrigé un bug dans le support des extensions.