2010-10-19 5 views
21

J'ai des problèmes Memcache et je me demandais quelle est la meilleure façon de savoir à quel point les objets que je crée sont gros.Comment mesurer la taille d'un objet Ruby?

La seule solution que j'ai est de les mettre dans Memcache qui affiche leur taille en octets (en passant, puis-je personnaliser la sortie de Memcache? Je veux des kilo-octets lisibles ...).

Merci,

Kevin

Répondre

17

L'excellent blog Eigenclass avait un article intéressant sur cette fois:

http://web.archive.org/web/20120126022146/http://eigenclass.org/R2/writings/object-size-ruby-ocaml

Il y avait aussi une bonne discussion sur ruby-talk, ce qui a conduit à un code par Robert Klemme (Ruby Best Practices):

http://www.ruby-forum.com/topic/156648

http://www.pastie.org/217131

les valeurs de branchent le premier article dans le script peut vous aider à démarrer et est probablement très pédagogique.

Vous pouvez également consulter memprof, mais il est plus sur les références d'objets et de trouver des fuites de mémoire que la taille réelle:

http://github.com/ice799/memprof

+0

D'accord, je viens de réaliser que, parce que l'allocation de mémoire est différente pour chaque mise en œuvre, mon le problème est beaucoup plus compliqué que je ne le pensais :-) –

+3

Le premier lien est en bas, voici la version archivée: http://web.archive.org/web/20100918225809/http://eigenclass.org/R2/writings/object -size-ruby-ocaml – lulalala

Questions connexes