les goroutines engendrent facilement des "data race" etc... On est vite refroidi !
Ah oui, j'oubliai le détecteur de race condition. Pour en avoir détecter plusieurs, c'est vraiment un outil qui est très utile.
Pour l'activer, il suffit de compiler le binaire avec l'option -race.
Le détecteur de race condition remonte uniquement des vrais positifs (il peut donc en laisser passer), donc ils faut toujours prendre au sérieux les alertes remontées (elles sont remontées dans la STDERR via une stack trace des deux goroutine impliquées et qd elles ont été créées).
Autre point, le fait de l'activer, cela va consommer en terme de mémoire et d'usage CPU. Donc, on :
- doit passer tous ses tests unitaire/microbenching avec le détecteur activé et cela dès le début du projet.
- peut imaginer l'activer sur une partie de votre cluster.
[^] # Re: GO GO GO GO
Posté par woffer 🐧 (site web personnel) . En réponse au journal The Go Programming Language. Évalué à 4.
Ah oui, j'oubliai le détecteur de race condition. Pour en avoir détecter plusieurs, c'est vraiment un outil qui est très utile.
Pour l'activer, il suffit de compiler le binaire avec l'option
-race.Le détecteur de race condition remonte uniquement des vrais positifs (il peut donc en laisser passer), donc ils faut toujours prendre au sérieux les alertes remontées (elles sont remontées dans la STDERR via une stack trace des deux goroutine impliquées et qd elles ont été créées).
Autre point, le fait de l'activer, cela va consommer en terme de mémoire et d'usage CPU. Donc, on :
- doit passer tous ses tests unitaire/microbenching avec le détecteur activé et cela dès le début du projet.
- peut imaginer l'activer sur une partie de votre cluster.