node/benchmark/assert
Ruben Bridgewater 449e9f4489 assert,util: improve deep equal comparison performance
This is mainly a performance improvement for a lot of simple cases.
Diverging elements are detected earlier and equal entries are
partially also detected faster.

A small correctness patch is also included where recursions now
stop as soon as either side has a circular structure. Before, both
sides had to have a circular structure at the specific comparison
which could have caused more checks that likely fail at a later
point.

Signed-off-by: Ruben Bridgewater <ruben@bridgewater.de>
PR-URL: https://github.com/nodejs/node/pull/46593
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2023-02-20 15:47:06 +01:00
..
deepequal-buffer.js benchmark: rework assert benchmarks for correctness 2023-02-20 15:46:55 +01:00
deepequal-map.js benchmark: add trailing commas 2023-01-29 19:13:35 +01:00
deepequal-object.js assert,util: improve deep equal comparison performance 2023-02-20 15:47:06 +01:00
deepequal-prims-and-objs-big-loop.js benchmark: rework assert benchmarks for correctness 2023-02-20 15:46:55 +01:00
deepequal-set.js
deepequal-simple-array-and-set.js benchmark: rework assert benchmarks for correctness 2023-02-20 15:46:55 +01:00
deepequal-typedarrays.js benchmark: rework assert benchmarks for correctness 2023-02-20 15:46:55 +01:00