哪个Javascript对象结构使用较少的内存?

时间:2017-07-21 22:10:28

标签: javascript performance memory memory-management javascript-objects

对于JavaScript对象,数组和内存使用情况,以下哪种结构的内存效率更高?

aa = [ {'a':1, 'b' : 2}, {'a':3, 'b' : 4} ]
bb = { 'a' : [1,3], 'b' : [2,4] }

aaa = [ {'a':1, 'b' : 2}, {'a':1, 'b' : 2}, {'a':1, 'b' : 2}, {'a':1, 'b' : 2}, {'a':1, 'b' : 2}, {'a':1, 'b' : 2}, {'a':1, 'b' : 2} ];
bbb = { 'a' : [1,1,1,1,1,1,1], 'b' : [2,2,2,2,2,2,2] };

由于各种原因,似乎很难准确衡量对象在JavaScript中使用了多少RAM。但是,Chrome的新内存标签似乎可以帮助我们找出上述哪个更好。

对于aabb,似乎aa使用的内存较少(我们是在考虑保留还是浅的大小)?很难分辨,因为该对象数组的创建似乎同时创建了其他对象。

AA

Screenshot of Chrome's Memory for Creation of AA

BB:

Screenshot of Chrome's Memory for Creation of BB

对于aaabbb,似乎bbb的对象大小小于aaa的对象数组,但是所有条目的ram在aaa中比bbb少,那么哪一个真正更有效?

AAA:

Screenshot of Chrome's Memory for Creation of AAA

BBB:

Screenshot of Chrome's Memory for Creation of BBB

开发人员似乎更喜欢使用一组对象,因为它更容易搜索(包括我自己),但我真的只想知道哪种结构在内存方面更有效。

我的水平不够低,无法理解当JavaScript对象存储在内存中时会发生什么。管理内存由于其复杂性而被抽象化(感谢所有使这一切成为可能的人......但是Chromium开发人员很差)。

0 个答案:

没有答案