buffer: faster case for create Buffer from new Buffer(0)
authorJackson Tian <shyvo1987@gmail.com>
Thu, 17 Dec 2015 09:44:34 +0000 (17:44 +0800)
committerMyles Borins <mborins@us.ibm.com>
Tue, 19 Jan 2016 19:52:32 +0000 (11:52 -0800)
commit138d004ac0944fc1f2870e6d5024c95fda2b3878
tree674f269450e0c3246848376ff2b6b0beb7e0116d
parent3ff237333d08b3b8000f52a163acfa8d36d67e03
buffer: faster case for create Buffer from new Buffer(0)

When create Buffer from a Buffer will copy data
from old to new even though length is zero.

This patch can improve edge case 4x faster.
following is benchmark results.

new: buffers/buffer_zero.js n=1024: 2463.53891
old: buffers/buffer_zero.js n=1024: 618.70801

PR-URL: https://github.com/nodejs/node/pull/4326
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
benchmark/buffers/buffer_zero.js [new file with mode: 0644]
lib/buffer.js