FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

build: add configure option --v8-enable-short-builtin-calls by qdaoming · Pull Request #42109 · nodejs/node · GitHub

/ node Public

build: add configure option --v8-enable-short-builtin-calls - #42109

Merged
nodejs-github-bot merged 1 commit into
nodejs:masterfrom
qdaoming:daomingq-v8-short-builtin-calls-support
Apr 12, 2022
Merged

build: add configure option --v8-enable-short-builtin-calls#42109
nodejs-github-bot merged 1 commit into
nodejs:masterfrom
qdaoming:daomingq-v8-short-builtin-calls-support

Conversation

Copy link
Copy Markdown

Add configure option --v8-enable-short-builtin-calls
and enable it by default on x86_64 platform.

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/gyp
  • @nodejs/v8-update

nodejs-github-bot added build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. tools Issues and PRs related to the tools directory. v8 engine Issues and PRs related to the V8 dependency. labels Feb 24, 2022
qdaoming changed the title build: Add configure option --v8-enable-short-builtin-calls build: add configure option --v8-enable-short-builtin-calls Feb 24, 2022

targos commented Feb 24, 2022

Copy link
Copy Markdown
Member

Is this a breaking change for native addons?

Copy link
Copy Markdown
Author

Is this a breaking change for native addons?

No, this is not a breaking change.
The short-builtin-calls feature is implemented inside V8 and can bring good performance(especially with SparkPlug feature which is enabled by default). Please refer to https://v8.dev/blog/short-builtin-calls.

Copy link
Copy Markdown
Author

For the failed check "First commit message adheres to guidelines at https://goo.gl/p2fr5Q /...", I have modified the title format of this commit, but don't know how to rerun this failed check.

targos commented Feb 24, 2022

Copy link
Copy Markdown
Member

Should we be able to measure the performance improvement with our micro benchmarks?

Copy link
Copy Markdown
Author

Should we be able to measure the performance improvement with our micro benchmarks?

We have tested the performance with some internal node.js application benchmarks, and short-builtin-calls(together with sparkplug) can bring +6% performance increase.
Could you provide the link to the micro benchmarks? I can measure it if possible.

targos commented Feb 26, 2022

Copy link
Copy Markdown
Member

@nodejs/build @nodejs/v8

targos added the performance Issues and PRs related to the performance of Node.js. label Feb 26, 2022

Copy link
Copy Markdown
Collaborator

targos commented Feb 26, 2022
edited by Mesteery
Loading

Copy link
Copy Markdown
Member

Benchmark run on the assert benchmarks: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1099/

Results
                                                                                                                        confidence improvement accuracy (*)    (**)   (***)
assert/deepequal-buffer.js method='deepEqual' strict=0 len=1000 n=20000                                                                 1.92 %       ±6.39%  ±8.50% ±11.07%
assert/deepequal-buffer.js method='deepEqual' strict=0 len=100 n=20000                                                                  0.92 %       ±5.12%  ±6.82%  ±8.88%
assert/deepequal-buffer.js method='deepEqual' strict=1 len=1000 n=20000                                                                -0.13 %       ±6.66%  ±8.86% ±11.54%
assert/deepequal-buffer.js method='deepEqual' strict=1 len=100 n=20000                                                                 -1.51 %       ±6.20%  ±8.26% ±10.75%
assert/deepequal-buffer.js method='notDeepEqual' strict=0 len=1000 n=20000                                                              2.89 %       ±7.02%  ±9.34% ±12.16%
assert/deepequal-buffer.js method='notDeepEqual' strict=0 len=100 n=20000                                                               5.48 %       ±6.09%  ±8.10% ±10.54%
assert/deepequal-buffer.js method='notDeepEqual' strict=1 len=1000 n=20000                                                              1.59 %       ±5.83%  ±7.76% ±10.10%
assert/deepequal-buffer.js method='notDeepEqual' strict=1 len=100 n=20000                                                              -0.94 %       ±6.11%  ±8.14% ±10.60%
assert/deepequal-map.js method='deepEqual_mixed' strict=0 len=500 n=500                                                                 1.20 %       ±2.17%  ±2.89%  ±3.77%
assert/deepequal-map.js method='deepEqual_mixed' strict=1 len=500 n=500                                                                 1.22 %       ±1.66%  ±2.21%  ±2.88%
assert/deepequal-map.js method='deepEqual_objectOnly' strict=0 len=500 n=500                                                            0.94 %       ±1.32%  ±1.76%  ±2.30%
assert/deepequal-map.js method='deepEqual_objectOnly' strict=1 len=500 n=500                                                            0.09 %       ±1.33%  ±1.77%  ±2.30%
assert/deepequal-map.js method='deepEqual_primitiveOnly' strict=0 len=500 n=500                                                        -2.62 %       ±6.05%  ±8.07% ±10.53%
assert/deepequal-map.js method='deepEqual_primitiveOnly' strict=1 len=500 n=500                                                         1.36 %       ±4.47%  ±5.95%  ±7.75%
assert/deepequal-map.js method='notDeepEqual_mixed' strict=0 len=500 n=500                                                             -0.26 %       ±6.90%  ±9.19% ±11.97%
assert/deepequal-map.js method='notDeepEqual_mixed' strict=1 len=500 n=500                                                             -1.95 %       ±3.80%  ±5.05%  ±6.59%
assert/deepequal-map.js method='notDeepEqual_objectOnly' strict=0 len=500 n=500                                                        -0.04 %       ±2.14%  ±2.85%  ±3.71%
assert/deepequal-map.js method='notDeepEqual_objectOnly' strict=1 len=500 n=500                                                         0.74 %       ±2.10%  ±2.79%  ±3.63%
assert/deepequal-map.js method='notDeepEqual_primitiveOnly' strict=0 len=500 n=500                                                     -3.30 %       ±5.37%  ±7.16%  ±9.34%
assert/deepequal-map.js method='notDeepEqual_primitiveOnly' strict=1 len=500 n=500                                                     -1.79 %       ±4.89%  ±6.52%  ±8.49%
assert/deepequal-object.js method='deepEqual' strict=0 size=1000 n=5000                                                                -1.34 %       ±5.94%  ±7.90% ±10.29%
assert/deepequal-object.js method='deepEqual' strict=0 size=100 n=5000                                                                  1.26 %       ±5.48%  ±7.29%  ±9.49%
assert/deepequal-object.js method='deepEqual' strict=0 size=50000 n=5000                                                                1.63 %       ±2.04%  ±2.72%  ±3.54%
assert/deepequal-object.js method='deepEqual' strict=1 size=1000 n=5000                                                                 3.89 %       ±6.30%  ±8.38% ±10.91%
assert/deepequal-object.js method='deepEqual' strict=1 size=100 n=5000                                                                  4.59 %       ±6.39%  ±8.52% ±11.14%
assert/deepequal-object.js method='deepEqual' strict=1 size=50000 n=5000                                                         *     -2.21 %       ±1.96%  ±2.61%  ±3.41%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=1000 n=5000                                                              3.63 %       ±5.76%  ±7.66%  ±9.97%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=100 n=5000                                                              -1.00 %       ±7.19%  ±9.58% ±12.51%
assert/deepequal-object.js method='notDeepEqual' strict=0 size=50000 n=5000                                                             5.81 %       ±7.02%  ±9.35% ±12.19%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=1000 n=5000                                                             -0.28 %       ±7.73% ±10.29% ±13.40%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=100 n=5000                                                               3.98 %       ±7.68% ±10.23% ±13.32%
assert/deepequal-object.js method='notDeepEqual' strict=1 size=50000 n=5000                                                            -3.96 %       ±6.68%  ±8.90% ±11.61%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='array'                     1.62 %       ±5.16%  ±6.87%  ±8.96%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='number'                    4.77 %       ±6.13%  ±8.17% ±10.65%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='object'                    3.37 %       ±4.86%  ±6.47%  ±8.42%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=0 len=20000 n=25 primitive='string'                   -0.36 %       ±5.86%  ±7.79% ±10.15%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='array'                    -0.64 %       ±3.91%  ±5.21%  ±6.80%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='number'                   -1.61 %       ±5.40%  ±7.19%  ±9.37%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='object'                    1.34 %       ±5.23%  ±6.97%  ±9.11%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Array' strict=1 len=20000 n=25 primitive='string'                   -1.38 %       ±5.47%  ±7.27%  ±9.47%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='array'                *      7.72 %       ±6.68%  ±8.92% ±11.68%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='number'                      2.42 %       ±6.43%  ±8.56% ±11.16%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='object'                      2.18 %       ±5.31%  ±7.07%  ±9.21%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=0 len=20000 n=25 primitive='string'                      4.33 %       ±7.64% ±10.17% ±13.25%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='array'                      -1.66 %       ±5.20%  ±6.93%  ±9.04%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='number'                      4.47 %       ±6.76%  ±9.00% ±11.74%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='object'                     -4.40 %       ±5.44%  ±7.26%  ±9.49%
assert/deepequal-prims-and-objs-big-array-set.js method='deepEqual_Set' strict=1 len=20000 n=25 primitive='string'                      0.30 %       ±5.19%  ±6.91%  ±9.01%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='array'          **      7.71 %       ±5.44%  ±7.25%  ±9.44%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='number'                 0.95 %       ±6.43%  ±8.56% ±11.15%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='object'                 0.87 %       ±6.40%  ±8.52% ±11.10%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=0 len=20000 n=25 primitive='string'                -0.64 %       ±4.03%  ±5.38%  ±7.04%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='array'           *      5.24 %       ±4.29%  ±5.71%  ±7.44%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='number'                -3.27 %       ±5.38%  ±7.20%  ±9.47%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='object'                 2.82 %       ±3.67%  ±4.88%  ±6.36%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Array' strict=1 len=20000 n=25 primitive='string'                 5.23 %       ±5.55%  ±7.38%  ±9.61%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='array'                    2.03 %       ±6.68%  ±8.90% ±11.60%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='number'                   1.98 %       ±7.21%  ±9.59% ±12.49%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='object'                  -2.20 %       ±7.64% ±10.17% ±13.23%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=0 len=20000 n=25 primitive='string'                  -5.58 %       ±8.02% ±10.67% ±13.90%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='array'                   -2.65 %       ±7.45%  ±9.91% ±12.90%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='number'                  -2.98 %       ±6.07%  ±8.08% ±10.52%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='object'                   2.49 %       ±7.77% ±10.34% ±13.47%
assert/deepequal-prims-and-objs-big-array-set.js method='notDeepEqual_Set' strict=1 len=20000 n=25 primitive='string'                   0.86 %       ±6.52%  ±8.68% ±11.31%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='array'                                       0.10 %       ±6.75%  ±9.00% ±11.73%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='number'                                     -0.24 %       ±4.96%  ±6.59%  ±8.58%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='object'                                      0.51 %       ±7.41%  ±9.86% ±12.84%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=0 n=20000 primitive='string'                                     -4.90 %       ±6.61%  ±8.79% ±11.45%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='array'                                      -5.02 %       ±5.94%  ±7.91% ±10.31%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='number'                               *     -7.37 %       ±6.45%  ±8.59% ±11.20%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='object'                                     -2.44 %       ±6.81%  ±9.06% ±11.80%
assert/deepequal-prims-and-objs-big-loop.js method='deepEqual' strict=1 n=20000 primitive='string'                                     -2.63 %       ±6.81%  ±9.06% ±11.80%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='array'                                   -4.11 %       ±6.99%  ±9.29% ±12.10%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='number'                                   0.20 %       ±6.54%  ±8.70% ±11.33%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='object'                                  -2.20 %       ±6.62%  ±8.82% ±11.49%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=0 n=20000 primitive='string'                                  -2.97 %       ±7.16%  ±9.53% ±12.41%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='array'                                   -0.78 %       ±5.92%  ±7.87% ±10.25%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='number'                            *     -6.70 %       ±5.94%  ±7.91% ±10.33%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='object'                            *     -8.86 %       ±7.77% ±10.37% ±13.54%
assert/deepequal-prims-and-objs-big-loop.js method='notDeepEqual' strict=1 n=20000 primitive='string'                                   1.12 %       ±7.34%  ±9.77% ±12.74%
assert/deepequal-set.js method='deepEqual_mixed' strict=0 len=500 n=500                                                                 0.77 %       ±2.16%  ±2.87%  ±3.74%
assert/deepequal-set.js method='deepEqual_mixed' strict=1 len=500 n=500                                                                 0.11 %       ±5.41%  ±7.25%  ±9.54%
assert/deepequal-set.js method='deepEqual_objectOnly' strict=0 len=500 n=500                                                           -0.30 %       ±2.01%  ±2.69%  ±3.54%
assert/deepequal-set.js method='deepEqual_objectOnly' strict=1 len=500 n=500                                                            0.73 %       ±2.81%  ±3.75%  ±4.90%
assert/deepequal-set.js method='deepEqual_primitiveOnly' strict=0 len=500 n=500                                                         1.14 %       ±5.31%  ±7.07%  ±9.21%
assert/deepequal-set.js method='deepEqual_primitiveOnly' strict=1 len=500 n=500                                                         3.01 %       ±5.17%  ±6.89%  ±8.98%
assert/deepequal-set.js method='notDeepEqual_mixed' strict=0 len=500 n=500                                                              3.15 %       ±5.67%  ±7.54%  ±9.82%
assert/deepequal-set.js method='notDeepEqual_mixed' strict=1 len=500 n=500                                                              0.10 %       ±5.94%  ±7.91% ±10.29%
assert/deepequal-set.js method='notDeepEqual_objectOnly' strict=0 len=500 n=500                                                         1.01 %       ±2.30%  ±3.06%  ±3.98%
assert/deepequal-set.js method='notDeepEqual_objectOnly' strict=1 len=500 n=500                                                         0.64 %       ±2.09%  ±2.78%  ±3.62%
assert/deepequal-set.js method='notDeepEqual_primitiveOnly' strict=0 len=500 n=500                                                      1.18 %       ±3.17%  ±4.22%  ±5.49%
assert/deepequal-set.js method='notDeepEqual_primitiveOnly' strict=1 len=500 n=500                                                      1.36 %       ±3.74%  ±4.97%  ±6.48%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Float32Array'                                           2.96 %       ±6.15%  ±8.19% ±10.69%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Float64Array'                                           2.00 %       ±5.67%  ±7.54%  ±9.82%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Int8Array'                                              0.44 %       ±5.61%  ±7.46%  ±9.72%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Uint8Array'                                             0.64 %       ±7.50%  ±9.98% ±13.00%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=0 n=500 type='Uint8ClampedArray'                                     -1.47 %       ±7.73% ±10.31% ±13.46%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Float32Array'                                          -0.93 %       ±6.39%  ±8.50% ±11.07%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Float64Array'                                           0.32 %       ±7.81% ±10.41% ±13.59%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Int8Array'                                             -5.39 %       ±6.50%  ±8.68% ±11.35%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Uint8Array'                                            -0.72 %       ±8.46% ±11.26% ±14.67%
assert/deepequal-typedarrays.js len=100 method='deepEqual' strict=1 n=500 type='Uint8ClampedArray'                               *      7.19 %       ±6.45%  ±8.61% ±11.27%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Float32Array'                                        3.96 %       ±5.36%  ±7.17%  ±9.43%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Float64Array'                                        3.01 %       ±3.70%  ±4.94%  ±6.47%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Int8Array'                                          -0.32 %       ±4.53%  ±6.03%  ±7.87%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Uint8Array'                                          2.76 %       ±7.66% ±10.20% ±13.28%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=0 n=500 type='Uint8ClampedArray'                                  -1.61 %       ±7.42%  ±9.87% ±12.85%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Float32Array'                                       -0.39 %       ±7.01%  ±9.34% ±12.17%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Float64Array'                                        2.88 %       ±8.01% ±10.67% ±13.91%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Int8Array'                                           0.18 %       ±7.59% ±10.10% ±13.14%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Uint8Array'                                          0.05 %       ±5.65%  ±7.51%  ±9.78%
assert/deepequal-typedarrays.js len=100 method='notDeepEqual' strict=1 n=500 type='Uint8ClampedArray'                                  -1.45 %       ±6.85%  ±9.12% ±11.88%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Float32Array'                                          3.27 %       ±4.66%  ±6.21%  ±8.08%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Float64Array'                                 ***    -13.55 %       ±2.63%  ±3.49%  ±4.55%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Int8Array'                                             5.81 %       ±6.88%  ±9.17% ±11.97%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Uint8Array'                                            2.45 %       ±8.52% ±11.35% ±14.82%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=0 n=500 type='Uint8ClampedArray'                                     1.28 %      ±11.11% ±14.85% ±19.47%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Float32Array'                                         -2.75 %       ±7.39%  ±9.83% ±12.80%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Float64Array'                                         -0.89 %       ±9.59% ±12.82% ±16.81%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Int8Array'                                             0.45 %       ±4.77%  ±6.34%  ±8.26%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Uint8Array'                                            2.06 %      ±11.76% ±15.69% ±20.51%
assert/deepequal-typedarrays.js len=5000 method='deepEqual' strict=1 n=500 type='Uint8ClampedArray'                                     3.04 %       ±7.91% ±10.55% ±13.78%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Float32Array'                                       4.03 %       ±4.71%  ±6.28%  ±8.18%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Float64Array'                                       4.72 %       ±5.09%  ±6.78%  ±8.84%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Int8Array'                                         -2.63 %       ±6.12%  ±8.15% ±10.63%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Uint8Array'                                         1.34 %       ±7.38%  ±9.84% ±12.84%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=0 n=500 type='Uint8ClampedArray'                                  3.14 %       ±6.98%  ±9.32% ±12.17%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Float32Array'                                       3.68 %       ±6.04%  ±8.04% ±10.46%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Float64Array'                                       8.09 %      ±11.32% ±15.17% ±19.97%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Int8Array'                                          1.49 %       ±7.03%  ±9.35% ±12.17%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Uint8Array'                                  *      7.31 %       ±7.13%  ±9.54% ±12.52%
assert/deepequal-typedarrays.js len=5000 method='notDeepEqual' strict=1 n=500 type='Uint8ClampedArray'                                  1.46 %       ±7.27%  ±9.67% ±12.58%
assert/ok.js n=100000                                                                                                                   1.15 %       ±4.88%  ±6.49%  ±8.47%
assert/throws.js method='doesNotThrow' n=10000                                                                                          1.24 %       ±5.63%  ±7.49%  ±9.75%
assert/throws.js method='throws_RegExp' n=10000                                                                                         1.74 %       ±4.66%  ±6.20%  ±8.08%
assert/throws.js method='throws_TypeError' n=10000                                                                                      3.11 %       ±5.52%  ±7.35%  ±9.57%

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 (***)

qdaoming commented Mar 1, 2022

Copy link
Copy Markdown
Author

I have modified the commit message to fix the lint error and now all checks have passed.
Is it ready to be merged into master branch? Thanks.

Copy link
Copy Markdown
Collaborator

qdaoming commented Mar 17, 2022
edited
Loading

Copy link
Copy Markdown
Author

For CI tests, this commit passed all of them about 1 weeks ago.
But now there are 4 failures in latest CI tests.
I checked those failures and they seem not to relate with this commit.
Do I need to do some more work for this commit to be merged into master branch?

Copy link
Copy Markdown
Collaborator

Copy link
Copy Markdown
Collaborator

This comment was marked as outdated.

Copy link
Copy Markdown
Collaborator

Trott commented Apr 11, 2022

Copy link
Copy Markdown
Member

Is it possible that the consistent failures on fedora-latest-x64 in CI are due to the change in this PR? I'm not seeing it anywhere else, and it's consistent here....

Copy link
Copy Markdown
Member

you can log onto Jenkins as use the "Resume Build" feature.

Thx for the info. I was using retry button. Looks I click the wrong button.

Is it possible that the consistent failures on fedora-latest-x64 in CI are due to the change in this PR?

Old build works fine, not sure why. https://ci.nodejs.org/job/node-test-pull-request/43380/

Looks like something wrong with Jenkins cc @richardlau @nodejs/build

Copy link
Copy Markdown
Collaborator

Copy link
Copy Markdown
Collaborator

richardlau commented Apr 12, 2022
edited
Loading

Copy link
Copy Markdown
Member

you can log onto Jenkins as use the "Resume Build" feature.

Thx for the info. I was using retry button. Looks I click the wrong button.

Is it possible that the consistent failures on fedora-latest-x64 in CI are due to the change in this PR?

Old build works fine, not sure why. https://ci.nodejs.org/job/node-test-pull-request/43380/

Looks like something wrong with Jenkins cc @richardlau @nodejs/build

I rebooted test-digitalocean-fedora34-x64-1 and the CI now passes on it 🤷.

richardlau added commit-queue Add this label to land a pull request using GitHub Actions. and removed commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. labels Apr 12, 2022
nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Apr 12, 2022
nodejs-github-bot merged commit aa52873 into nodejs:master Apr 12, 2022

Copy link
Copy Markdown
Collaborator

Landed in aa52873

Copy link
Copy Markdown
Member

@qdaoming-intel Thx for the contribution. (sorry the commit-queue mess and take so long to merge)

Copy link
Copy Markdown
Author

@gengjiawen Thank you and all other people's support.

xtx1130 pushed a commit to xtx1130/node that referenced this pull request Apr 25, 2022
Add configure option --v8-enable-short-builtin-calls
and enable it by default on x86_64 platform.

PR-URL: nodejs#42109
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>

Copy link
Copy Markdown
Member

This commit breaks build/compiling C++ in v16.x, is says something like: v8_enable_short_builtin_calls requires v8_enable_pointer_compression; for some reson, v8_enable_pointer_compression is not true by default in v16.x

qdaoming commented Jun 2, 2022

Copy link
Copy Markdown
Author

This commit breaks build/compiling C++ in v16.x, is says something like: v8_enable_short_builtin_calls requires v8_enable_pointer_compression; for some reson, v8_enable_pointer_compression is not true by default in v16.x

Please don't merge this commit to v16.x, because this commit depends on some new feature in V8, and v16.x doesn't have such feature.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. performance Issues and PRs related to the performance of Node.js. tools Issues and PRs related to the tools directory. v8 engine Issues and PRs related to the V8 dependency.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants


Back | FazBrowse Home | New Git URL