2010-09-13 4 views

Répondre

3

Vous ne pouvez pas faire cela dans Common Lisp portable. La fonction peut être la fonction ROOM. ROOM imprime les statistiques de la mémoire et avec l'argument T il les imprime en détail. Vous pouvez donc voir une différence avant et après certaines créations d'instance. Les implémentations peuvent avoir des fonctions spécifiques, mais vous devez vérifier cela avec le manuel ou avec la liste de diffusion du support.

+0

Intéressant. (explication de côté: je fais face à beaucoup de choses et j'essaie de comprendre comment les optimiser plus petit) –

+4

Quelques implémentations te laisseront l'allocation de profil pour trouver les hotspots. C'est beaucoup mieux un moyen d'améliorer l'empreinte. – Xach

3

En plus de la réponse de Rainer, voici la réponse pour CLISP: macro EXT:TIMES

(defclass c() ((x) (y) (z))) 
(ext:times (make-instance 'c)) 
            Permanent   Temporary 
Class       instances bytes instances bytes 
-----       --------- --------- --------- --------- 
C          1  48   0   0 
-----       --------- --------- --------- --------- 
Total         1  48   0   0 
Real time: 1.4E-5 sec. 
Run time: 0.0 sec. 
Space: 48 Bytes 
#<C#x000333CF2AA0> 

NB: si vous évaluez defclass à l'invite, il est pas compilé, de sorte times rapportera une bourre en plus c.

Questions connexes