diff options
author | Jackson Tian <shyvo1987@gmail.com> | 2015-12-18 10:57:21 +0800 |
---|---|---|
committer | James M Snell <jasnell@gmail.com> | 2016-03-27 09:14:48 -0700 |
commit | afd821a91d14a13becdf989184adf721ae7365eb (patch) | |
tree | 1ee44c3bc4d82894bbbe3d904f86e8a228c3acde /benchmark | |
parent | 26a4a4bc93d1d79e7deb074a97ceeaf6cd4131dd (diff) | |
download | android-node-v8-afd821a91d14a13becdf989184adf721ae7365eb.tar.gz android-node-v8-afd821a91d14a13becdf989184adf721ae7365eb.tar.bz2 android-node-v8-afd821a91d14a13becdf989184adf721ae7365eb.zip |
buffer: faster case for create buffer from empty string
When create Buffer from empty string will touch
C++ binding also.
This patch can improve edge case ~70% faster.
PR-URL: https://github.com/nodejs/node/pull/4414
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'benchmark')
-rw-r--r-- | benchmark/buffers/buffer_zero.js | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/benchmark/buffers/buffer_zero.js b/benchmark/buffers/buffer_zero.js index 4a63695657..e624bbbcd4 100644 --- a/benchmark/buffers/buffer_zero.js +++ b/benchmark/buffers/buffer_zero.js @@ -3,16 +3,21 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { - n: [1024] + n: [1024], + type: ['buffer', 'string'] }); -const zero = Buffer.alloc(0); +const zeroBuffer = Buffer.alloc(0); +const zeroString = ''; function main(conf) { var n = +conf.n; bench.start(); - for (let i = 0; i < n * 1024; i++) { - Buffer.from(zero); - } + + if (conf.type === 'buffer') + for (let i = 0; i < n * 1024; i++) Buffer.from(zeroBuffer); + else if (conf.type === 'string') + for (let i = 0; i < n * 1024; i++) Buffer.from(zeroString); + bench.end(n); } |