diff options
author | Claudio Rodriguez <cjrodr@yahoo.com> | 2015-12-17 10:05:45 -0300 |
---|---|---|
committer | Roman Reiss <me@silverwind.io> | 2015-12-21 18:04:01 +0100 |
commit | 63786227cc8cf3dbe18664a2e8765a4ee11fe8ff (patch) | |
tree | 545ddea482ed34504437f170a0b1113e5b00768e /benchmark/assert/deepequal-prims-and-objs-big-loop.js | |
parent | 50125e27b763aa49a93788c4605addf3c5966f44 (diff) | |
download | android-node-v8-63786227cc8cf3dbe18664a2e8765a4ee11fe8ff.tar.gz android-node-v8-63786227cc8cf3dbe18664a2e8765a4ee11fe8ff.tar.bz2 android-node-v8-63786227cc8cf3dbe18664a2e8765a4ee11fe8ff.zip |
assert: typed array deepequal performance fix
assert.deepEqual: when actual and expected are typed arrays,
wrap them in a new Buffer each to increase performance
significantly.
PR-URL: https://github.com/nodejs/node/pull/4330
Fixes: https://github.com/nodejs/node/issues/4294
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'benchmark/assert/deepequal-prims-and-objs-big-loop.js')
-rw-r--r-- | benchmark/assert/deepequal-prims-and-objs-big-loop.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/benchmark/assert/deepequal-prims-and-objs-big-loop.js b/benchmark/assert/deepequal-prims-and-objs-big-loop.js new file mode 100644 index 0000000000..5f0519bb3b --- /dev/null +++ b/benchmark/assert/deepequal-prims-and-objs-big-loop.js @@ -0,0 +1,30 @@ +'use strict'; +var common = require('../common.js'); +var assert = require('assert'); +var bench = common.createBenchmark(main, { + prim: [ + null, + undefined, + 'a', + 1, + true, + {0: 'a'}, + [1, 2, 3], + new Array([1, 2, 3]) + ], + n: [1e5] +}); + +function main(conf) { + var prim = conf.prim; + var n = +conf.n; + var x; + + bench.start(); + + for (x = 0; x < n; x++) { + assert.deepEqual(new Array([prim]), new Array([prim])); + } + + bench.end(n); +} |