summaryrefslogtreecommitdiff
path: root/benchmark/buffers/buffer-slice.js
diff options
context:
space:
mode:
authorRaymond Feng <raymond@strongloop.com>2014-05-22 20:37:47 -0700
committerBert Belder <bertbelder@gmail.com>2014-05-28 11:57:05 -0700
commit4c672c8a5e33e60a6d03b885a41a45abe9f31c69 (patch)
treef7ff2b9233868cf961d4f5c68222b297417478de /benchmark/buffers/buffer-slice.js
parent4394c8a9b3889436fa957ea52955936a2640407b (diff)
downloadandroid-node-v8-4c672c8a5e33e60a6d03b885a41a45abe9f31c69.tar.gz
android-node-v8-4c672c8a5e33e60a6d03b885a41a45abe9f31c69.tar.bz2
android-node-v8-4c672c8a5e33e60a6d03b885a41a45abe9f31c69.zip
benchmark: Add a test to measure Buffer.slice perf
Buffer.slice can be expensive. One regression was reported by https://github.com/joyent/node/issues/7633. The method should be benchmarked.
Diffstat (limited to 'benchmark/buffers/buffer-slice.js')
-rw-r--r--benchmark/buffers/buffer-slice.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/benchmark/buffers/buffer-slice.js b/benchmark/buffers/buffer-slice.js
new file mode 100644
index 0000000000..f632fa64ad
--- /dev/null
+++ b/benchmark/buffers/buffer-slice.js
@@ -0,0 +1,20 @@
+var common = require('../common.js');
+var SlowBuffer = require('buffer').SlowBuffer;
+
+var bench = common.createBenchmark(main, {
+ type: ['fast', 'slow'],
+ n: [1024]
+});
+
+var buf = new Buffer(1024);
+var slowBuf = new SlowBuffer(1024);
+
+function main(conf) {
+ var n = +conf.n;
+ var b = conf.type === 'fast' ? buf : slowBuf;
+ bench.start();
+ for (var i = 0; i < n * 1024; i++) {
+ b.slice(10, 256);
+ }
+ bench.end(n);
+}