2
我決定最好的辦法了很多時間序列數據存儲在內存中,我做了一個簡單的基準來比較緩衝區VS簡單數組:爲什麼數組的內存少於node.js中的緩衝區?
var buffers = {};
var started = Date.now();
var before = process.memoryUsage().heapUsed;
for (var i = 0; i < 100000; i++) {
buffers[i] = new Buffer(4);
buffers[i].writeFloatLE(i+1.2, 0);
// buffers[i] = [i+1.2];
}
console.log(Date.now() - started, 'ms');
console.log((process.memoryUsage().heapUsed - before)/1024/1024);
而且結果如下:
Arrays: 22 'ms'
8.391242980957031
Buffers:
123 'ms'
9.9490966796875
所以根據這個基準,陣列速度提高5倍以上,內存減少18%。它是否正確?我當然期望緩衝區佔用更少的內存。
它看起來像一個關聯數組(圖),在它小的緩衝器。數組代碼在哪裏? – 2012-07-17 09:27:30
@Linus G Thiel,我正在取消評論字符串的註釋並在測試數組時對註釋2進行評論 – Fluffy 2012-07-17 09:30:56
對於我來說,有一張帶有1長度數組的地圖似乎很奇怪。這是你的用例嗎? – 2012-07-17 09:32:55