假设我们需要存储一些数据,那么在速度和内存效率方面最好的方法是什么呢?
1:作为两个不同的变量
var a = 1;
var b = 2;
2:作为阵列
var arr = [1, 2];
3:作为一个对象
var obj = {
a: 1,
b: 2
};
真的,这取决于你想要做什么......速度和效率更多地取决于你如何操纵数据而不是存储数据。
但就其本身而言,我希望个别变量最快,最小。
快速测试(使用Node.js和process.memoryUsage()
)显示了这种情况:
vars.js
:使用1080字节
var start = process.memoryUsage().heapUsed;
( function() {
var a = 1;
var b = 2;
console.log( process.memoryUsage().heapUsed - start );
} )();
array.js
:使用了1224个字节
var start = process.memoryUsage().heapUsed;
( function() {
var a = [ 1, 2 ];
console.log( process.memoryUsage().heapUsed - start );
} )();
object.js
:使用了1856个字节
var start = process.memoryUsage().heapUsed;
( function() {
var a = { a: 1, b: 2 };
console.log( process.memoryUsage().heapUsed - start );
} )();
注意 - 这并不意味着只声明两个变量需要1080个字节!您还可以通过声明匿名函数并运行它来获得所有开销 - 这只是一个相对测量。我以这种方式编写脚本,以便在第一次测量之后才会分配变量。