summaryrefslogtreecommitdiff
path: root/benchmark
diff options
context:
space:
mode:
authorJackson Tian <shyvo1987@gmail.com>2015-12-17 17:44:34 +0800
committerJames M Snell <jasnell@gmail.com>2015-12-23 17:15:19 -0800
commit5396baf7c12e118cf42e246d1d0773337edd23f1 (patch)
tree40cc4d7f50e39e08115745fc6cf54e7d3a70b29f /benchmark
parent26a82971b2bd7f27f3d75833bc7051738952874a (diff)
downloadandroid-node-v8-5396baf7c12e118cf42e246d1d0773337edd23f1.tar.gz
android-node-v8-5396baf7c12e118cf42e246d1d0773337edd23f1.tar.bz2
android-node-v8-5396baf7c12e118cf42e246d1d0773337edd23f1.zip
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>
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/buffers/buffer_zero.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/benchmark/buffers/buffer_zero.js b/benchmark/buffers/buffer_zero.js
new file mode 100644
index 0000000000..461378758b
--- /dev/null
+++ b/benchmark/buffers/buffer_zero.js
@@ -0,0 +1,18 @@
+'use strict';
+
+const common = require('../common.js');
+
+const bench = common.createBenchmark(main, {
+ n: [1024]
+});
+
+const zero = new Buffer(0);
+
+function main(conf) {
+ var n = +conf.n;
+ bench.start();
+ for (let i = 0; i < n * 1024; i++) {
+ new Buffer(zero);
+ }
+ bench.end(n);
+}