summaryrefslogtreecommitdiff
path: root/benchmark/streams
diff options
context:
space:
mode:
authorBrian White <mscdex@mscdex.net>2017-01-02 18:37:26 -0500
committerBrian White <mscdex@mscdex.net>2017-01-05 02:58:05 -0500
commit0a937280d8353b86051b02206811974a658a47d5 (patch)
treec5131e58a2b9594a2da2a143aecf0a1d4f6f836b /benchmark/streams
parentaab1dd6ff4a30191f36d6a7ed3fd7e47477dd2fb (diff)
downloadandroid-node-v8-0a937280d8353b86051b02206811974a658a47d5.tar.gz
android-node-v8-0a937280d8353b86051b02206811974a658a47d5.tar.bz2
android-node-v8-0a937280d8353b86051b02206811974a658a47d5.zip
stream: avoid additional validation for Buffers
These changes result in ~50% improvement in the included benchmark. PR-URL: https://github.com/nodejs/node/pull/10580 Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'benchmark/streams')
-rw-r--r--benchmark/streams/writable-manywrites.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/benchmark/streams/writable-manywrites.js b/benchmark/streams/writable-manywrites.js
new file mode 100644
index 0000000000..fadafe86e4
--- /dev/null
+++ b/benchmark/streams/writable-manywrites.js
@@ -0,0 +1,23 @@
+'use strict';
+
+const common = require('../common');
+const Writable = require('stream').Writable;
+
+const bench = common.createBenchmark(main, {
+ n: [2e6]
+});
+
+function main(conf) {
+ const n = +conf.n;
+ const b = Buffer.allocUnsafe(1024);
+ const s = new Writable();
+ s._write = function(chunk, encoding, cb) {
+ cb();
+ };
+
+ bench.start();
+ for (var k = 0; k < n; ++k) {
+ s.write(b);
+ }
+ bench.end(n);
+}