Pourquoi Ruby consomme-t-il autant de mémoire ?
(joyfulbikeshedding.com)Cet article se limite à Ruby sur Linux.
Même si vous ne connaissez pas Ruby, c’est un texte qui mérite d’être lu : il explique de façon claire comment la mémoire est gérée au niveau de l’OS et de l’interpréteur, comment la pagination et les pools de pages sont utilisés, ainsi que la fragmentation mémoire.
Il semble aussi y avoir beaucoup à apprendre de la manière de traquer les fuites mémoire.
4 commentaires
Mais bon, on parle de glibc, alors qu’en réalité cela semble pouvoir affecter tous les programmes Linux utilisant la bibliothèque C standard dès lors qu’il s’agit de projets multithread ; hum ;
Python ayant lui aussi le même problème dans la mesure où il dépend de glibc, il existe aussi des méthodes pour réduire la fragmentation mémoire en utilisant Jemalloc à la place de l’allocateur par défaut.
http://egloos.zum.com/mcchae/v/11175458
Au passage, cette phrase est vraiment marquante...
Il n’y avait pas d’outil -> alors je l’ai créé.
Je trouve que c’est une très belle attitude de programmeur.