summaryrefslogtreecommitdiff
path: root/benchmark/assert/deepequal-typedarrays.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-typedarrays.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-typedarrays.js')
-rw-r--r--benchmark/assert/deepequal-typedarrays.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/benchmark/assert/deepequal-typedarrays.js b/benchmark/assert/deepequal-typedarrays.js
new file mode 100644
index 0000000000..99c13206d7
--- /dev/null
+++ b/benchmark/assert/deepequal-typedarrays.js
@@ -0,0 +1,22 @@
+'use strict';
+var common = require('../common.js');
+var assert = require('assert');
+var bench = common.createBenchmark(main, {
+ type: ('Int8Array Uint8Array Int16Array Uint16Array Int32Array Uint32Array ' +
+ 'Float32Array Float64Array Uint8ClampedArray').split(' '),
+ n: [1]
+});
+
+function main(conf) {
+ var type = conf.type;
+ var clazz = global[type];
+ var n = +conf.n;
+
+ bench.start();
+ var actual = new clazz(n * 1e6);
+ var expected = new clazz(n * 1e6);
+
+ assert.deepEqual(actual, expected);
+
+ bench.end(n);
+}