summaryrefslogtreecommitdiff
path: root/benchmark
diff options
context:
space:
mode:
authorJackson Tian <shyvo1987@gmail.com>2015-12-18 10:57:21 +0800
committerJames M Snell <jasnell@gmail.com>2016-03-27 09:14:48 -0700
commitafd821a91d14a13becdf989184adf721ae7365eb (patch)
tree1ee44c3bc4d82894bbbe3d904f86e8a228c3acde /benchmark
parent26a4a4bc93d1d79e7deb074a97ceeaf6cd4131dd (diff)
downloadandroid-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.js15
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);
}