2012-05-02 26 views
0

我有一個使用Javascript繼承風格的大型Web應用程序,它爲每個實例複製每個對象的方法。Javascript代碼的內存佔用碼

任何人都可以告訴我如何估計爲每個實例存儲每個函數的副本所消耗的內存量?

我見過有助於估計變量使用情況的帖子,但指令和代碼本身如何?

例如:

function createAnimal() { 
    var self = {}; 
    self.think = function() { 
     consol.log("thinking"); 
    }; 
    return self; 
} 

function createDog() { 
    var self = createAnimal(); 
    self.bark = function() { 
     console.log("woof woof"); 
    }; 
    return self; 
} 


var spot = createDog(); 
var ralph = createDog(); 

回答

2

在火狐瀏覽器有關:內存。在js下列出了內存使用情況:

├──19.78 MB (34.58%) -- js 
│ ├───9.87 MB (17.25%) -- compartment([System Principal], 0x336e000) 
│ │ ├──4.72 MB (08.25%) -- gc-heap 
│ │ │ ├──2.33 MB (04.07%) -- objects 
│ │ │ ├──1.48 MB (02.58%) -- shapes 
│ │ │ ├──0.59 MB (01.03%) -- scripts 
│ │ │ └──0.33 MB (00.57%) -- (6 omitted) 
│ │ ├──1.18 MB (02.06%) -- script-data 
│ │ ├──1.00 MB (01.75%) -- mjit-code 
│ │ │ ├──0.92 MB (01.60%) -- method 
│ │ │ └──0.08 MB (00.15%) -- (2 omitted) 
│ │ ├──0.68 MB (01.19%) -- analysis-temporary 
│ │ ├──0.60 MB (01.04%) -- (5 omitted) 
│ │ ├──0.48 MB (00.84%) -- object-slots 
│ │ ├──0.46 MB (00.81%) -- mjit-data 
│ │ ├──0.41 MB (00.72%) -- property-tables 
│ │ └──0.34 MB (00.59%) -- string-chars