Bonjour,
J'ai cherché un peu partout, mais je n'ai pas trouvé de moyen simple pour connaitre la mémoire occupé par un objet, en .NET.
En existe-t-il ?
Je pourrais implémenter moi même une méthode renvoyant la taille de l'objet ( à coup de sizeof sur ses membres ), mais ce serait trop limitant, car uniquement faisable pour les objets que j'ai moi-même codé. Je pourrais bien sur implémenter des méthodes d'éxtensions me direz-vous. Mais ça ne prendrait pas en compte les membres privés.
De plus, ce serait vraiment galère niveau maintenabilité, devoir créer une méthode par type d'objet que je suis susceptible d'utiliser.
L'objectif final étant la conception d'un système de cache. Afin de limiter la mémoire maximum occupé par ce cache, j'aurais voulu controler la taille des objets que je met en cache. Mais peut être que je ne m'y prends pas de la bonne manière ?
Je précise que la solution doit être faisable dans un contexte d'éxecution temps réel, dans un jeu video plus précisement.
Ca fait un moment que je recherche en vain une solution, quelqu'un aurait de l'éxperience sur le sujet ? ou une bonne idée ?
Merci.
Partager