2010-09-13 37 views

回答

3

你不能在便攜式Common Lisp中做到這一點。

有用的可能是功能ROOMROOM打印內存統計信息,並用參數T打印它們的詳細信息。因此,您可能會在實例創作前後看到不同之處。實現可能具有特定的功能,但您需要使用手冊或支持郵件列表來檢查。

+0

有趣。 (方面解釋:我正在處理很多事情,我試圖弄清楚如何優化它們) – 2010-09-13 18:12:49

+4

一些實現會讓你配置文件分配來找到熱點。這是改善足跡的更好方法。 – Xach 2010-09-13 19:02:16

3

除了雷納的回答,這裏是CLISP答案:宏觀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> 

注:如果您在提示符下評估defclass,它沒有編譯,所以times除了會報告某些絨毛c