on peut en lancer des milliers, réparties automatiquement sur plusieurs threads ou cœurs.
Plutôt que de retenir une limite haute pour le nombre de goroutine, il faut plutôt dire que le nombre de goroutine est rarement le facteur limitant, si c'est goroutine sont en attente par exemple de paquets réseau.
Il y a une vidéo de Rob Pike (que je n'arrive plus à retrouver) où il indique qu'il est courant de voir des serveurs de production chez Google avec des centaines de milliers voire des millions de goroutine.
Ce billet de chez Cloudflare montre que leur serveur DNS (écrit en Go) lance 40k goroutines sans souci particulier autres que des stacks montreuse :)
Personnellement, pour certains cas particuliers, il m'arrive de lancer des centaines de milliers de goroutine sans problème.
La taille minimale de la stack d'une goroutine est de 2ko qui est donc bcp plus petite que celle d'un thread.
# Nombre de goroutine
Posté par woffer 🐧 (site web personnel) . En réponse à la dépêche Sortie du langage Go en version 1.6. Évalué à 6. Dernière modification le 21 février 2016 à 16:01.
Merci pour cet article.
Plutôt que de retenir une limite haute pour le nombre de goroutine, il faut plutôt dire que le nombre de goroutine est rarement le facteur limitant, si c'est goroutine sont en attente par exemple de paquets réseau.
Il y a une vidéo de Rob Pike (que je n'arrive plus à retrouver) où il indique qu'il est courant de voir des serveurs de production chez Google avec des centaines de milliers voire des millions de goroutine.
Ce billet de chez Cloudflare montre que leur serveur DNS (écrit en Go) lance 40k goroutines sans souci particulier autres que des stacks montreuse :)
Personnellement, pour certains cas particuliers, il m'arrive de lancer des centaines de milliers de goroutine sans problème.
La taille minimale de la stack d'une goroutine est de 2ko qui est donc bcp plus petite que celle d'un thread.