Profilage de l'espace mémoire utilisé par Vidjil-algo
On se pose des questions sur l'espace mémoire qu'on pourrait gagner dans l'algo (#3389) mais en fait on ne sait pas vraiment où est dépensé l'espace mémoire.
#2120 (closed) nous montre un exemple où, hors pic de la fin d'exécution, on arrive à environ 1,5 Go. Or on a 1M de reads, on trouve des fenêtres dans 500k d'entre eux. On stocke des informations relatives uniquement à ces 500k reads.
Ces reads ont une longueur moyenne de 260bp. Dans #3389 on a listé les différents champs stockés pour les reads. En voyant large on doit arriver à 1ko par read. Cela nous ferait 500 Mo. Il manque environ 1Go. Qu'est-ce que je loupe d'important ?
Il y a bien des informations stockées par rapport au statut de la segmentation, aux longueurs moyennes, mais ça me semble assez négligeable à côté des reads.
Si on n'est pas capable de déterminer l'origine du Go manquant, cela signifie qu'on a besoin d'un profilage de la mémoire utilisée par le programme pour mieux situer les axes d'amélioration.