Why do arrays take less memory than buffers in node.js?

I'm deciding on the best way to store a lot of timeseries data in memory and I made a simple benchmark to compare buffers vs simple arrays:

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);

And the results are as follows:

Arrays: 22 'ms'
8.391242980957031

Buffers:
123 'ms'
9.9490966796875

So according to this benchmark arrays are 5+ times faster and take 18% less memory. Is this correct? I certainly expected buffers to take less memory.

There's an overhead (in time and space ) for each Buffer you create.

I expect you'll get better space (and maybe time) performance if you compare

buffers[i] = new Buffer(4*1000);
for(k=0;j<1000;++j)
{
  buffers[i].writeFloatLE(i+k+1.2, 4*j);
}

With

buffers[i] = [];
for(k=0;j<1000;++j)
{
  buffers[i].push(i+k+1.2);
}