diff options
author | Brian White <mscdex@mscdex.net> | 2017-01-02 18:37:26 -0500 |
---|---|---|
committer | Brian White <mscdex@mscdex.net> | 2017-01-05 02:58:05 -0500 |
commit | 0a937280d8353b86051b02206811974a658a47d5 (patch) | |
tree | c5131e58a2b9594a2da2a143aecf0a1d4f6f836b /benchmark/streams | |
parent | aab1dd6ff4a30191f36d6a7ed3fd7e47477dd2fb (diff) | |
download | android-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.js | 23 |
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); +} |