summaryrefslogtreecommitdiff
path: root/benchmark/assert/deepequal-prims-and-objs-big-loop.js
diff options
context:
space:
mode:
authorClaudio Rodriguez <cjrodr@yahoo.com>2015-12-17 10:05:45 -0300
committerRoman Reiss <me@silverwind.io>2015-12-21 18:04:01 +0100
commit63786227cc8cf3dbe18664a2e8765a4ee11fe8ff (patch)
tree545ddea482ed34504437f170a0b1113e5b00768e /benchmark/assert/deepequal-prims-and-objs-big-loop.js
parent50125e27b763aa49a93788c4605addf3c5966f44 (diff)
downloadandroid-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.js30
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);
+}