X Tutup
The Wayback Machine - https://web.archive.org/web/20220502052355/https://github.com/nodejs/node/pull/41702
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib: refactor to use primordials in lib/assert.js #41702

Merged
merged 1 commit into from Mar 15, 2022

Conversation

Copy link
Member

@marsonya marsonya commented Jan 26, 2022

Use StringPrototypeIndexOf and StringPrototypeSlice

@nodejs-github-bot nodejs-github-bot added assert needs-ci labels Jan 26, 2022
Copy link
Member

@RaisinTen RaisinTen left a comment

I think we should wait for nodejs/TSC#1104 to get resolved before doing anything related to primordials at this point.

@benjamingr
Copy link

@benjamingr benjamingr commented Jan 26, 2022

In particular I think a safe guideline can be:

  • when non-interference is required for spec compliance (for example in whatwg APIs we're implementing) use primordials
  • when non-interference is required for error handling safety (for example when writing code for uncaughtException) prefer primordials.
  • otherwise use what the code already uses.

Copy link
Member

@RaisinTen RaisinTen left a comment

There were no significant perf regressions in the last benchmark run but the link takes me to a 404 page now, so I'll run the assert benchmarks again:

https://ci.nodejs.org/job/benchmark-node-micro-benchmarks/1100/

                                                                                                                        confidence improvement accuracy (*)    (**)   (***)
assert/deepequal-buffer.js method='deepEqual' strict=0 len=1000 n=20000                                                                -5.17 %       ±6.27%  ±8.36% ±10.92%
assert/deepequal-buffer.js method='deepEqual' strict=0 len=100 n=20000                                                                  2.07 %       ±6.40%  ±8.51% ±11.08%
assert/deepequal-buffer.js method='deepEqual' strict=1 len=1000 n=20000                                                                 2.55 %       ±6.40%  ±8.51% ±11.08%
assert/deepequal-buffer.js method='deepEqual' strict=1 len=100 n=20000                                                                 -1.37 %       ±5.85%  ±7.79% ±10.16%
assert/deepequal-buffer.js method='notDeepEqual' strict=0 len=1000 n=20000                                                             -0.07 %       ±6.08%  ±8.08% ±10.53%
assert/deepequal-buffer.js method='notDeepEqual' strict=0 len=100 n=20000                                                               0.01 %       ±6.66%  ±8.87% ±11.56%
assert/deepequal-buffer.js method='notDeepEqual' strict=1 len=1000 n=20000                                                       *      6.55 %       ±6.41%  ±8.58% ±11.25%
assert/deepequal-buffer.js method='notDeepEqual' strict=1 len=100 n=20000                                                              -0.19 %       ±7.25%  ±9.64% ±12.55%
assert/deepequal-map.js method='deepEqual_mixed' strict=0 len=500 n=500                                                                -1.03 %       ±2.13%  ±2.83%  ±3.69%
assert/deepequal-map.js method='deepEqual_mixed' strict=1 len=500 n=500                                                                -0.47 %       ±2.10%  ±2.79%  ±3.64%
assert/deepequal-map.js method='deepEqual_objectOnly' strict=0 len=500 n=500                                                            1.09 %       ±1.44%  ±1.91%  ±2.49%
assert/deepequal-map.js method='deepEqual_objectOnly' strict=1 len=500 n=500                                                           -0.79 %       ±1.34%  ±1.79%  ±2.33%
assert/deepequal-map.js method='deepEqual_primitiveOnly' strict=0 len=500 n=500                                                         2.07 %       ±6.43%  ±8.56% ±11.15%
assert/deepequal-map.js method='deepEqual_primitiveOnly' strict=1 len=500 n=500                                                        -0.73 %       ±6.39%  ±8.52% ±11.11%
assert/deepequal-map.js method='notDeepEqual_mixed' strict=0 len=500 n=500                                                             -3.25 %       ±7.07%  ±9.41% ±12.25%
assert/deepequal-map.js method='notDeepEqual_mixed' strict=1 len=500 n=500                                                             -1.52 %       ±5.27%  ±7.02%  ±9.16%
assert/deepequal-map.js method='notDeepEqual_objectOnly' strict=0 len=500 n=500                                                         0.75 %       ±2.37%  ±3.15%  ±4.11%
assert/deepequal-map.js method='notDeepEqual_objectOnly' strict=1 len=500 n=500                                                         0.80 %       ±2.65%  ±3.53%  ±4.59%
assert/deepequal-map.js method='notDeepEqual_primitiveOnly' strict=0 len=500 n=500                                                      0.07 %       ±5.32%  ±7.08%  ±9.21%
assert/deepequal-map.js method='notDeepEqual_primitiveOnly' strict=1 len=500 n=500                                                      0.12 %       ±4.74%  ±6.31%  ±8.21%
assert/deepequal-object.js method='deepEqual' strict=0 size=1000 n=5000                                                                 0.69 %       ±5.34%  ±7.10%  ±9.25%
assert/deepequal-object.js method='deepEqual' strict=0 size=100 n=5000                                                                  0.23 %       ±4.92%  ±6.55%  ±8.53%
assert/deepequal-object.js method='deepEqual' strict=0 size=50000 n=5000                                                                0.52 %       ±1.79%  ±2.39%  ±3.11%
assert/deepequal-object.js method='deepEqual' strict=1 size=1000 n=5000                                                                 3.55 %       ±6.79%  ±9.03% ±11.77%
assert/deepequal-object.js method='deepEqual' strict=1 size=100 n=5000                                                                 -3.88 %       ±6.03%  ±8.04% ±10.50%
assert/deepequal-object.js method='deepEqual' strict=1 size=50000 n=5000                                                               -1.50 %       ±1.80%  ±2.41%  ±3.15%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=1000 n=5000                                                              2.18 %       ±9.84% ±13.09% ±17.04%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=100 n=5000                                                               6.81 %      ±10.26% ±13.73% ±18.02%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=50000 n=5000                                                            -3.39 %       ±8.01% ±10.66% ±13.88%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=1000 n=5000                                                              2.89 %       ±7.47%  ±9.94% ±12.95%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=100 n=5000                                                              -1.94 %       ±6.40%  ±8.52% ±11.11%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=50000 n=5000                                                             2.96 %       ±8.08% ±10.75% ±13.99%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='array'                     0.63 %       ±5.75%  ±7.65%  ±9.95%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='number'                   -0.50 %       ±4.62%  ±6.17%  ±8.06%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='object'                    0.38 %       ±5.13%  ±6.82%  ±8.88%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='string'                    2.58 %       ±5.66%  ±7.53%  ±9.81%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='array'                    -1.09 %       ±4.80%  ±6.39%  ±8.32%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='number'                   -0.41 %       ±4.86%  ±6.46%  ±8.41%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='object'                   -4.82 %       ±6.82%  ±9.08% ±11.82%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='string'                    0.44 %       ±4.85%  ±6.45%  ±8.40%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='array'                      -3.19 %       ±6.62%  ±8.83% ±11.53%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='number'                      1.62 %       ±6.21%  ±8.27% ±10.76%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='object'                      4.46 %       ±6.24%  ±8.32% ±10.88%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='string'                      0.10 %       ±4.63%  ±6.16%  ±8.01%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='array'                       1.95 %       ±6.23%  ±8.30% ±10.83%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='number'                     -1.93 %       ±5.94%  ±7.91% ±10.29%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='object'                      1.69 %       ±7.67% ±10.20% ±13.28%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='string'                      2.49 %       ±5.45%  ±7.26%  ±9.45%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='array'                  1.32 %       ±5.41%  ±7.20%  ±9.37%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='number'                -2.92 %       ±4.16%  ±5.53%  ±7.20%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='object'                 0.60 %       ±6.40%  ±8.52% ±11.08%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='string'                -0.08 %       ±5.13%  ±6.84%  ±8.92%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='array'                 -0.57 %       ±5.33%  ±7.10%  ±9.26%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='number'                -0.23 %       ±5.78%  ±7.70% ±10.02%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='object'                -0.99 %       ±5.24%  ±6.97%  ±9.07%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='string'          *     -5.44 %       ±4.39%  ±5.85%  ±7.65%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='array'                    2.01 %       ±6.33%  ±8.42% ±10.98%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='number'                   2.82 %       ±6.05%  ±8.05% ±10.47%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='object'                  -3.63 %       ±7.17%  ±9.55% ±12.46%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='string'                  -0.05 %       ±6.85%  ±9.13% ±11.90%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='array'                   -1.70 %       ±7.93% ±10.56% ±13.75%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='number'                  -1.98 %       ±6.95%  ±9.25% ±12.03%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='object'                  -5.90 %       ±6.91%  ±9.22% ±12.03%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='string'                  -2.40 %       ±5.82%  ±7.75% ±10.09%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='array'                                       2.92 %       ±7.23%  ±9.64% ±12.59%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='number'                                     -1.55 %       ±5.57%  ±7.41%  ±9.65%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='object'                                      0.61 %       ±6.43%  ±8.56% ±11.15%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='string'                                      2.77 %       ±4.99%  ±6.64%  ±8.65%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='array'                                      -3.61 %       ±6.16%  ±8.20% ±10.70%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='number'                                     -0.42 %       ±5.69%  ±7.58%  ±9.90%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='object'                                      3.57 %       ±6.75%  ±8.99% ±11.71%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='string'                                     -0.72 %       ±6.25%  ±8.31% ±10.82%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='array'                                    3.02 %       ±5.88%  ±7.84% ±10.23%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='number'                                   3.09 %       ±6.53%  ±8.68% ±11.30%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='object'                                  -0.96 %       ±5.81%  ±7.78% ±10.23%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='string'                                  -2.37 %       ±6.22%  ±8.28% ±10.78%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='array'                                   -0.62 %       ±5.00%  ±6.65%  ±8.65%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='number'                                   1.94 %       ±6.05%  ±8.05% ±10.48%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='object'                                   6.24 %       ±7.17%  ±9.55% ±12.46%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='string'                                   0.90 %       ±6.19%  ±8.24% ±10.73%
assert/deepequal-set.js method='deepEqual_mixed' strict=0 len=500 n=500                                                                -0.20 %       ±2.16%  ±2.87%  ±3.74%
assert/deepequal-set.js method='deepEqual_mixed' strict=1 len=500 n=500                                                                 0.64 %       ±2.30%  ±3.07%  ±4.00%
assert/deepequal-set.js method='deepEqual_objectOnly' strict=0 len=500 n=500                                                            0.16 %       ±1.35%  ±1.79%  ±2.34%
assert/deepequal-set.js method='deepEqual_objectOnly' strict=1 len=500 n=500                                                            0.76 %       ±1.43%  ±1.90%  ±2.47%
assert/deepequal-set.js method='deepEqual_primitiveOnly' strict=0 len=500 n=500                                                        -0.41 %       ±5.29%  ±7.04%  ±9.16%
assert/deepequal-set.js method='deepEqual_primitiveOnly' strict=1 len=500 n=500                                                        -1.05 %       ±5.42%  ±7.22%  ±9.40%
assert/deepequal-set.js method='notDeepEqual_mixed' strict=0 len=500 n=500                                                              1.82 %       ±4.77%  ±6.36%  ±8.29%
assert/deepequal-set.js method='notDeepEqual_mixed' strict=1 len=500 n=500                                                             -0.47 %       ±4.41%  ±5.88%  ±7.66%
assert/deepequal-set.js method='notDeepEqual_objectOnly' strict=0 len=500 n=500                                                         0.27 %       ±2.50%  ±3.32%  ±4.32%
assert/deepequal-set.js method='notDeepEqual_objectOnly' strict=1 len=500 n=500                                                        -0.44 %       ±1.68%  ±2.23%  ±2.91%
assert/deepequal-set.js method='notDeepEqual_primitiveOnly' strict=0 len=500 n=500                                                     -3.01 %       ±3.82%  ±5.09%  ±6.66%
assert/deepequal-set.js method='notDeepEqual_primitiveOnly' strict=1 len=500 n=500                                                     -2.88 %       ±4.35%  ±5.79%  ±7.53%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Float32Array'                                          -3.57 %       ±5.94%  ±7.91% ±10.29%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Float64Array'                                           4.79 %       ±9.05% ±12.08% ±15.78%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Int8Array'                                             -2.43 %       ±5.65%  ±7.52%  ±9.78%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Uint8Array'                                             3.98 %       ±5.93%  ±7.91% ±10.32%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Uint8ClampedArray'                                      3.29 %       ±7.79% ±10.42% ±13.65%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Float32Array'                                           0.26 %       ±5.98%  ±7.98% ±10.43%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Float64Array'                                           3.69 %      ±10.25% ±13.72% ±18.03%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Int8Array'                                             -0.44 %       ±6.20%  ±8.25% ±10.75%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Uint8Array'                                             0.18 %       ±6.08%  ±8.09% ±10.53%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Uint8ClampedArray'                                      6.39 %       ±7.19%  ±9.63% ±12.67%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Float32Array'                                        1.11 %       ±5.16%  ±6.88%  ±9.00%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Float64Array'                                        0.20 %       ±6.19%  ±8.25% ±10.74%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Int8Array'                                          -3.25 %       ±6.11%  ±8.15% ±10.62%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Uint8Array'                                         -2.06 %       ±6.34%  ±8.44% ±10.98%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Uint8ClampedArray'                            *     10.01 %       ±8.38% ±11.17% ±14.58%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Float32Array'                                       -2.58 %       ±8.05% ±10.72% ±13.96%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Float64Array'                                       -2.56 %       ±9.27% ±12.33% ±16.05%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Int8Array'                                          -0.10 %       ±5.61%  ±7.47%  ±9.75%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Uint8Array'                                         -5.74 %       ±6.62%  ±8.82% ±11.49%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Uint8ClampedArray'                                  -4.73 %       ±7.13%  ±9.48% ±12.34%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Float32Array'                                          3.64 %       ±4.43%  ±5.89%  ±7.67%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Float64Array'                                         -0.34 %       ±2.81%  ±3.75%  ±4.89%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Int8Array'                                             1.77 %       ±4.90%  ±6.52%  ±8.49%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Uint8Array'                                           -6.60 %       ±7.15%  ±9.52% ±12.40%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Uint8ClampedArray'                             **     12.54 %       ±8.92% ±11.93% ±15.65%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Float32Array'                                          2.93 %       ±7.49% ±10.00% ±13.06%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Float64Array'                                   *      7.86 %       ±7.47%  ±9.95% ±12.97%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Int8Array'                                            -3.07 %       ±5.02%  ±6.70%  ±8.76%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Uint8Array'                                            0.20 %       ±6.25%  ±8.32% ±10.85%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Uint8ClampedArray'                                    -2.13 %       ±7.21%  ±9.60% ±12.52%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Float32Array'                                       3.52 %       ±4.87%  ±6.50%  ±8.50%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Float64Array'                                       1.90 %       ±5.76%  ±7.67%  ±9.98%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Int8Array'                                          2.76 %       ±6.66%  ±8.87% ±11.57%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Uint8Array'                                        -2.17 %       ±7.12%  ±9.47% ±12.34%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Uint8ClampedArray'                                 -1.92 %       ±6.68%  ±8.89% ±11.58%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Float32Array'                                      -1.77 %       ±7.42%  ±9.88% ±12.86%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Float64Array'                                      -4.01 %       ±7.51%  ±9.99% ±13.02%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Int8Array'                                          3.14 %       ±6.64%  ±8.84% ±11.50%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Uint8Array'                                         3.16 %       ±7.07%  ±9.40% ±12.24%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Uint8ClampedArray'                           *      7.24 %       ±7.03%  ±9.38% ±12.26%
assert/ok.js n=100000                                                                                                                  -3.11 %       ±4.15%  ±5.53%  ±7.23%
assert/throws.js method='doesNotThrow' n=10000                                                                                         -3.47 %       ±6.61%  ±8.79% ±11.45%
assert/throws.js method='throws_RegExp' n=10000                                                                                  *     -4.39 %       ±3.85%  ±5.13%  ±6.69%
assert/throws.js method='throws_TypeError' n=10000                                                                                      0.65 %       ±4.71%  ±6.27%  ±8.16%

Be aware that when doing many comparisons the risk of a false-positive
result increases. In this case, there are 136 comparisons, you can thus
expect the following amount of false-positive results:
  6.80 false positives, when considering a   5% risk acceptance (*, **, ***),
  1.36 false positives, when considering a   1% risk acceptance (**, ***),
  0.14 false positives, when considering a 0.1% risk acceptance (***)

regressions with at least one *:

assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='string'          *     -5.44 %       ±4.39%  ±5.85%  ±7.65%
assert/throws.js method='throws_RegExp' n=10000                                                                                  *     -4.39 %       ±3.85%  ±5.13%  ±6.69%

will rerun CI to check if those are flaky:

https://ci.nodejs.org/job/benchmark-node-micro-benchmarks/1101/

                                                                                                                        confidence improvement accuracy (*)    (**)   (***)
assert/deepequal-buffer.js method='deepEqual' strict=0 len=1000 n=20000                                                                -2.52 %       ±4.88%  ±6.50%  ±8.46%
assert/deepequal-buffer.js method='deepEqual' strict=0 len=100 n=20000                                                                 -0.85 %       ±5.29%  ±7.05%  ±9.18%
assert/deepequal-buffer.js method='deepEqual' strict=1 len=1000 n=20000                                                                 2.29 %       ±6.73%  ±8.95% ±11.66%
assert/deepequal-buffer.js method='deepEqual' strict=1 len=100 n=20000                                                                 -3.90 %       ±5.36%  ±7.15%  ±9.35%
assert/deepequal-buffer.js method='notDeepEqual' strict=0 len=1000 n=20000                                                              4.95 %       ±7.33%  ±9.76% ±12.70%
assert/deepequal-buffer.js method='notDeepEqual' strict=0 len=100 n=20000                                                              -1.06 %       ±6.51%  ±8.67% ±11.30%
assert/deepequal-buffer.js method='notDeepEqual' strict=1 len=1000 n=20000                                                             -1.66 %       ±6.38%  ±8.49% ±11.06%
assert/deepequal-buffer.js method='notDeepEqual' strict=1 len=100 n=20000                                                              -0.63 %       ±6.40%  ±8.52% ±11.10%
assert/deepequal-map.js method='deepEqual_mixed' strict=0 len=500 n=500                                                                 0.44 %       ±1.90%  ±2.53%  ±3.30%
assert/deepequal-map.js method='deepEqual_mixed' strict=1 len=500 n=500                                                                 0.87 %       ±1.63%  ±2.17%  ±2.83%
assert/deepequal-map.js method='deepEqual_objectOnly' strict=0 len=500 n=500                                                            1.26 %       ±1.65%  ±2.20%  ±2.88%
assert/deepequal-map.js method='deepEqual_objectOnly' strict=1 len=500 n=500                                                           -0.69 %       ±1.42%  ±1.88%  ±2.45%
assert/deepequal-map.js method='deepEqual_primitiveOnly' strict=0 len=500 n=500                                                        -1.70 %       ±5.15%  ±6.86%  ±8.94%
assert/deepequal-map.js method='deepEqual_primitiveOnly' strict=1 len=500 n=500                                                        -1.95 %       ±6.05%  ±8.07% ±10.53%
assert/deepequal-map.js method='notDeepEqual_mixed' strict=0 len=500 n=500                                                              2.95 %       ±7.92% ±10.55% ±13.75%
assert/deepequal-map.js method='notDeepEqual_mixed' strict=1 len=500 n=500                                                              3.34 %       ±5.02%  ±6.68%  ±8.70%
assert/deepequal-map.js method='notDeepEqual_objectOnly' strict=0 len=500 n=500                                                        -2.25 %       ±2.30%  ±3.06%  ±3.99%
assert/deepequal-map.js method='notDeepEqual_objectOnly' strict=1 len=500 n=500                                                        -0.47 %       ±1.92%  ±2.55%  ±3.32%
assert/deepequal-map.js method='notDeepEqual_primitiveOnly' strict=0 len=500 n=500                                                     -4.34 %       ±6.12%  ±8.14% ±10.61%
assert/deepequal-map.js method='notDeepEqual_primitiveOnly' strict=1 len=500 n=500                                                     -0.77 %       ±4.01%  ±5.35%  ±7.01%
assert/deepequal-object.js method='deepEqual' strict=0 size=1000 n=5000                                                                -2.10 %       ±4.64%  ±6.19%  ±8.08%
assert/deepequal-object.js method='deepEqual' strict=0 size=100 n=5000                                                                  0.19 %       ±6.70%  ±8.92% ±11.62%
assert/deepequal-object.js method='deepEqual' strict=0 size=50000 n=5000                                                                2.06 %       ±2.35%  ±3.13%  ±4.09%
assert/deepequal-object.js method='deepEqual' strict=1 size=1000 n=5000                                                          *      5.90 %       ±4.81%  ±6.42%  ±8.39%
assert/deepequal-object.js method='deepEqual' strict=1 size=100 n=5000                                                                  1.40 %       ±6.05%  ±8.06% ±10.50%
assert/deepequal-object.js method='deepEqual' strict=1 size=50000 n=5000                                                               -0.42 %       ±1.70%  ±2.26%  ±2.94%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=1000 n=5000                                                              4.05 %       ±6.81%  ±9.06% ±11.79%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=100 n=5000                                                               3.18 %       ±6.01%  ±7.99% ±10.41%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=50000 n=5000                                                             1.96 %       ±7.41%  ±9.85% ±12.83%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=1000 n=5000                                                             -1.66 %       ±7.41%  ±9.86% ±12.84%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=100 n=5000                                                               3.65 %       ±6.64%  ±8.83% ±11.50%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=50000 n=5000                                                            -1.64 %       ±6.62%  ±8.83% ±11.55%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='array'                    -0.72 %       ±4.97%  ±6.62%  ±8.62%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='number'                    1.64 %       ±4.75%  ±6.32%  ±8.22%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='object'                    0.95 %       ±4.42%  ±5.89%  ±7.69%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='string'                   -3.25 %       ±8.03% ±10.73% ±14.06%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='array'                     1.02 %       ±5.04%  ±6.71%  ±8.74%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='number'                   -0.46 %       ±5.24%  ±6.99%  ±9.14%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='object'             *     -5.54 %       ±5.03%  ±6.69%  ±8.71%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='string'                   -0.03 %       ±4.09%  ±5.45%  ±7.11%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='array'                       1.06 %       ±6.07%  ±8.07% ±10.52%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='number'                     -0.05 %       ±5.66%  ±7.55%  ±9.87%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='object'                     -0.20 %       ±7.02%  ±9.36% ±12.22%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='string'                      1.32 %       ±5.61%  ±7.47%  ±9.72%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='array'                       4.98 %       ±7.85% ±10.46% ±13.63%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='number'                      1.34 %       ±6.20%  ±8.25% ±10.75%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='object'                      2.49 %       ±6.49%  ±8.63% ±11.24%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='string'                     -2.30 %       ±8.79% ±11.69% ±15.22%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='array'                 -5.31 %       ±5.39%  ±7.18%  ±9.35%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='number'                -1.28 %       ±5.08%  ±6.75%  ±8.79%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='object'                 1.39 %       ±4.20%  ±5.59%  ±7.29%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='string'                -1.00 %       ±4.78%  ±6.37%  ±8.29%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='array'                  2.64 %       ±6.49%  ±8.63% ±11.25%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='number'                 0.49 %       ±4.35%  ±5.79%  ±7.54%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='object'                -1.34 %       ±5.51%  ±7.33%  ±9.55%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='string'                 0.16 %       ±5.37%  ±7.14%  ±9.30%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='array'                   -1.19 %       ±7.73% ±10.28% ±13.39%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='number'                  -1.51 %       ±5.80%  ±7.72% ±10.05%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='object'                  -0.28 %       ±6.60%  ±8.78% ±11.43%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='string'                  -0.42 %       ±5.80%  ±7.72% ±10.06%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='array'                   -0.18 %       ±6.86%  ±9.14% ±11.91%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='number'                  -1.08 %       ±5.91%  ±7.86% ±10.24%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='object'                   1.49 %       ±7.05%  ±9.38% ±12.21%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='string'                  -1.90 %       ±6.40%  ±8.52% ±11.10%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='array'                                      -0.82 %       ±7.10%  ±9.45% ±12.30%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='number'                                     -0.44 %       ±6.34%  ±8.44% ±11.00%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='object'                                      0.11 %       ±9.61% ±12.83% ±16.77%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='string'                                     -2.82 %       ±5.48%  ±7.29%  ±9.49%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='array'                                      -0.52 %       ±5.59%  ±7.44%  ±9.68%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='number'                                      1.19 %       ±6.56%  ±8.73% ±11.37%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='object'                                      1.85 %       ±6.31%  ±8.40% ±10.93%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='string'                                      2.15 %       ±6.26%  ±8.34% ±10.88%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='array'                                   -4.32 %       ±6.12%  ±8.18% ±10.71%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='number'                                   0.61 %       ±7.48%  ±9.95% ±12.96%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='object'                                   4.22 %       ±6.25%  ±8.34% ±10.88%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='string'                                  -0.11 %       ±5.02%  ±6.68%  ±8.70%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='array'                                   -2.15 %       ±5.54%  ±7.39%  ±9.65%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='number'                                   1.27 %       ±6.19%  ±8.24% ±10.73%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='object'                                  -2.89 %       ±5.02%  ±6.70%  ±8.74%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='string'                                  -4.09 %       ±5.81%  ±7.73% ±10.08%
assert/deepequal-set.js method='deepEqual_mixed' strict=0 len=500 n=500                                                                 0.56 %       ±2.29%  ±3.05%  ±3.97%
assert/deepequal-set.js method='deepEqual_mixed' strict=1 len=500 n=500                                                                 0.11 %       ±2.37%  ±3.15%  ±4.10%
assert/deepequal-set.js method='deepEqual_objectOnly' strict=0 len=500 n=500                                                            0.35 %       ±1.80%  ±2.40%  ±3.13%
assert/deepequal-set.js method='deepEqual_objectOnly' strict=1 len=500 n=500                                                            0.44 %       ±1.09%  ±1.45%  ±1.89%
assert/deepequal-set.js method='deepEqual_primitiveOnly' strict=0 len=500 n=500                                                         0.03 %       ±6.09%  ±8.10% ±10.55%
assert/deepequal-set.js method='deepEqual_primitiveOnly' strict=1 len=500 n=500                                                         4.63 %       ±6.04%  ±8.04% ±10.47%
assert/deepequal-set.js method='notDeepEqual_mixed' strict=0 len=500 n=500                                                             -2.63 %       ±5.16%  ±6.93%  ±9.12%
assert/deepequal-set.js method='notDeepEqual_mixed' strict=1 len=500 n=500                                                             -1.07 %       ±5.03%  ±6.69%  ±8.73%
assert/deepequal-set.js method='notDeepEqual_objectOnly' strict=0 len=500 n=500                                                        -1.06 %       ±2.56%  ±3.41%  ±4.44%
assert/deepequal-set.js method='notDeepEqual_objectOnly' strict=1 len=500 n=500                                                        -0.94 %       ±4.75%  ±6.36%  ±8.36%
assert/deepequal-set.js method='notDeepEqual_primitiveOnly' strict=0 len=500 n=500                                                     -0.26 %       ±3.79%  ±5.04%  ±6.56%
assert/deepequal-set.js method='notDeepEqual_primitiveOnly' strict=1 len=500 n=500                                                     -2.24 %       ±3.85%  ±5.13%  ±6.68%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Float32Array'                                          -3.91 %       ±5.32%  ±7.08%  ±9.23%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Float64Array'                                           1.53 %       ±4.90%  ±6.53%  ±8.54%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Int8Array'                                             -0.92 %       ±5.51%  ±7.33%  ±9.54%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Uint8Array'                                            -3.31 %       ±5.67%  ±7.55%  ±9.82%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Uint8ClampedArray'                                      1.37 %       ±5.65%  ±7.52%  ±9.79%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Float32Array'                                          -4.18 %       ±6.29%  ±8.39% ±10.96%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Float64Array'                                           4.73 %       ±5.74%  ±7.66% ±10.01%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Int8Array'                                              4.04 %       ±6.76%  ±9.00% ±11.71%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Uint8Array'                                            -3.49 %       ±6.16%  ±8.21% ±10.69%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Uint8ClampedArray'                                     -1.74 %       ±6.14%  ±8.17% ±10.64%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Float32Array'                                       -3.47 %       ±4.74%  ±6.32%  ±8.26%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Float64Array'                                        2.73 %       ±4.83%  ±6.46%  ±8.48%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Int8Array'                                           1.97 %       ±7.17%  ±9.55% ±12.43%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Uint8Array'                                          3.58 %       ±4.70%  ±6.26%  ±8.16%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Uint8ClampedArray'                                  -1.73 %       ±5.77%  ±7.68%  ±9.99%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Float32Array'                                        3.93 %       ±6.91%  ±9.21% ±12.01%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Float64Array'                                        5.56 %       ±7.68% ±10.25% ±13.39%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Int8Array'                                           4.36 %       ±6.97%  ±9.29% ±12.13%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Uint8Array'                                          4.47 %       ±7.75% ±10.33% ±13.47%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Uint8ClampedArray'                            *      7.22 %       ±5.94%  ±7.90% ±10.29%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Float32Array'                                         -3.12 %       ±4.57%  ±6.09%  ±7.92%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Float64Array'                                         -1.21 %       ±2.76%  ±3.67%  ±4.78%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Int8Array'                                            -3.33 %       ±5.29%  ±7.07%  ±9.26%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Uint8Array'                                           -0.97 %       ±4.91%  ±6.54%  ±8.51%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Uint8ClampedArray'                                     3.45 %       ±5.81%  ±7.75% ±10.13%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Float32Array'                                         -3.03 %       ±5.49%  ±7.32%  ±9.55%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Float64Array'                                          0.69 %       ±7.43%  ±9.89% ±12.87%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Int8Array'                                            -0.61 %       ±6.17%  ±8.21% ±10.69%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Uint8Array'                                            1.64 %       ±6.91%  ±9.20% ±11.98%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Uint8ClampedArray'                                     5.51 %       ±6.94%  ±9.25% ±12.05%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Float32Array'                                      -3.24 %       ±5.48%  ±7.29%  ±9.48%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Float64Array'                                      -1.59 %       ±4.56%  ±6.08%  ±7.93%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Int8Array'                                         -3.76 %       ±4.82%  ±6.43%  ±8.40%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Uint8Array'                                        -0.44 %       ±5.14%  ±6.84%  ±8.91%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Uint8ClampedArray'                                  0.31 %       ±6.19%  ±8.23% ±10.72%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Float32Array'                                      -5.61 %       ±5.73%  ±7.64%  ±9.96%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Float64Array'                                      -1.10 %       ±7.11%  ±9.49% ±12.39%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Int8Array'                                          2.47 %       ±6.23%  ±8.29% ±10.81%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Uint8Array'                                        -3.47 %       ±6.53%  ±8.68% ±11.31%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Uint8ClampedArray'                                 -1.26 %       ±6.00%  ±7.99% ±10.39%
assert/ok.js n=100000                                                                                                                   1.78 %       ±5.04%  ±6.71%  ±8.74%
assert/throws.js method='doesNotThrow' n=10000                                                                                          2.19 %       ±6.50%  ±8.67% ±11.31%
assert/throws.js method='throws_RegExp' n=10000                                                                                        -0.11 %       ±3.93%  ±5.24%  ±6.82%
assert/throws.js method='throws_TypeError' n=10000                                                                                      3.42 %       ±4.06%  ±5.41%  ±7.04%

Be aware that when doing many comparisons the risk of a false-positive
result increases. In this case, there are 136 comparisons, you can thus
expect the following amount of false-positive results:
  6.80 false positives, when considering a   5% risk acceptance (*, **, ***),
  1.36 false positives, when considering a   1% risk acceptance (**, ***),
  0.14 false positives, when considering a 0.1% risk acceptance (***)

the only regression with at least 1 * appears to be different from the ones above, so definitely flaky:

assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='object'             *     -5.54 %       ±5.03%  ±6.69%  ±8.71%

Approving because in nodejs/TSC#1158, most people who commented / reacted with 👍s understood that the performance we are concerned with is the one in non-error paths.

@aduh95 aduh95 added author ready request-ci labels Mar 12, 2022
@github-actions github-actions bot removed the request-ci label Mar 12, 2022
@nodejs-github-bot
Copy link

@nodejs-github-bot nodejs-github-bot commented Mar 12, 2022

@nodejs-github-bot
Copy link

@nodejs-github-bot nodejs-github-bot commented Mar 12, 2022

@nodejs-github-bot
Copy link

@nodejs-github-bot nodejs-github-bot commented Mar 14, 2022

@aduh95 aduh95 added the commit-queue label Mar 15, 2022
@nodejs-github-bot nodejs-github-bot removed the commit-queue label Mar 15, 2022
@nodejs-github-bot nodejs-github-bot merged commit 6f8c983 into nodejs:master Mar 15, 2022
62 checks passed
@nodejs-github-bot
Copy link

@nodejs-github-bot nodejs-github-bot commented Mar 15, 2022

Landed in 6f8c983

bengl pushed a commit that referenced this issue Mar 21, 2022
PR-URL: #41702
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
@bengl bengl mentioned this pull request Mar 21, 2022
danielleadams pushed a commit to danielleadams/node that referenced this issue Apr 21, 2022
PR-URL: nodejs#41702
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
danielleadams pushed a commit that referenced this issue Apr 24, 2022
PR-URL: #41702
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
danielleadams pushed a commit that referenced this issue Apr 24, 2022
PR-URL: #41702
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
danielleadams pushed a commit that referenced this issue Apr 24, 2022
PR-URL: #41702
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
xtx1130 pushed a commit to xtx1130/node that referenced this issue Apr 25, 2022
PR-URL: nodejs#41702
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assert author ready needs-ci
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants
X Tutup