Javascript使用Buffer替代位元組陣列會提升效能

banq發表於2016-06-29
在Javascript中如果需要使用位元組byte陣列,直接使用Buffer會被使用byte陣列效能更快。

以下是測試程式碼:

console.time('buf');  
for (let i = 0; i < 100000; i++) {  
    const buf = new Buffer(100000);
    buf.fill(0xf);
}
console.timeEnd('buf');

console.time('array');  
for (let i = 0; i < 100000; i++) {  
    const array = new Array(100000);
    array.fill(0xf);
}
console.timeEnd('array');

console.time('arraySet');  
for (let i = 0; i < 100000; i++) {  
    const array = [];
    for (let j = 0; j < 100000; j++) {
        array[j] = 0xf;
    }
}
console.timeEnd('arraySet');  
<p class="indent">


測試結果:

buf: 1530.438ms  
array: 95160.060ms  
arraySet: 118384.376ms  
<p class="indent">


Stop using Arrays with bytes, use Buffers

相關文章