在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');
|
测试结果:
buf: 1530.438ms array: 95160.060ms arraySet: 118384.376ms
|
Stop using Arrays with bytes, use Buffers