我为node.js写了一个小内存基准:http://pastebin.com/KfZ4Ucn4
它使用process.memoryUsage().heapUsed
测量3种情况下的内存使用情况:
案例1的开销为1300字节,案例2为300字节,案例3为150字节。此外,仅收集案例1垃圾,而后者则不会降低内存使用率。
这些效果是否有任何解释或文件?我正在尝试优化对象对象数组的内存使用,例如
[ {
foo : { bar : 1, baz : 2 }
, bar : { bar : 2, baz : 7 }
}
, {
foo : { bar : 1, baz : 2 }
, bar : { bar : 2, baz : 7 }
} ]
任何线索?
答案 0 :(得分:0)
我猜这与V8使用“隐藏类”来表示类似对象的方式有关,但是你所报告的内容似乎是脚印中非常显着的差异......
您可以在此处详细了解隐藏课程:https://developers.google.com/v8/design 虽然那篇文章似乎更关注速度而不是内存使用。