Skip to content

Conversation

@aduh95
Copy link
Contributor

@nodejs-github-botnodejs-github-bot added needs-ci PRs that need a full CI run. tools Issues and PRs related to the tools directory. labels Aug 29, 2022
@aduh95
Copy link
ContributorAuthor

aduh95 commented Sep 6, 2022

Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1266/

Results
 confidence improvement accuracy (*) (**) (***) module/module-loader-circular.js n=10000 0.45 % ±3.92% ±5.22% ±6.79% module/module-loader-deep.js cache='false' files=1000 ext='' * -4.75 % ±4.42% ±5.90% ±7.72% module/module-loader-deep.js cache='false' files=1000 ext='.js' 0.16 % ±3.51% ±4.67% ±6.08% module/module-loader-deep.js cache='true' files=1000 ext='' 1.24 % ±3.10% ±4.16% ±5.48% module/module-loader-deep.js cache='true' files=1000 ext='.js' 0.75 % ±5.54% ±7.45% ±9.85% module/module-loader.js cache='false' n=1000 files=500 dir='abs' name='/' 0.31 % ±3.83% ±5.11% ±6.67% module/module-loader.js cache='false' n=1000 files=500 dir='abs' name='' 0.20 % ±7.00% ±9.33% ±12.17% module/module-loader.js cache='false' n=1000 files=500 dir='abs' name='/index.js' 4.89 % ±6.28% ±8.42% ±11.09% module/module-loader.js cache='false' n=1000 files=500 dir='rel' name='/' -0.62 % ±2.76% ±3.68% ±4.79% module/module-loader.js cache='false' n=1000 files=500 dir='rel' name='' -0.46 % ±3.71% ±4.94% ±6.44% module/module-loader.js cache='false' n=1000 files=500 dir='rel' name='/index.js' 4.25 % ±5.76% ±7.71% ±10.14% module/module-loader.js cache='false' n=1 files=500 dir='abs' name='/' 0.24 % ±6.88% ±9.16% ±11.94% module/module-loader.js cache='false' n=1 files=500 dir='abs' name='' 0.05 % ±6.70% ±8.92% ±11.61% module/module-loader.js cache='false' n=1 files=500 dir='abs' name='/index.js' -5.85 % ±6.25% ±8.31% ±10.82% module/module-loader.js cache='false' n=1 files=500 dir='rel' name='/' 2.81 % ±6.29% ±8.37% ±10.90% module/module-loader.js cache='false' n=1 files=500 dir='rel' name='' -0.14 % ±5.86% ±7.80% ±10.15% module/module-loader.js cache='false' n=1 files=500 dir='rel' name='/index.js' -5.70 % ±6.15% ±8.19% ±10.67% module/module-loader.js cache='true' n=1000 files=500 dir='abs' name='/' 1.67 % ±2.44% ±3.27% ±4.30% module/module-loader.js cache='true' n=1000 files=500 dir='abs' name='' 2.31 % ±6.46% ±8.60% ±11.20% module/module-loader.js cache='true' n=1000 files=500 dir='abs' name='/index.js' 0.57 % ±1.18% ±1.59% ±2.09% module/module-loader.js cache='true' n=1000 files=500 dir='rel' name='/' 0.44 % ±2.16% ±2.89% ±3.78% module/module-loader.js cache='true' n=1000 files=500 dir='rel' name='' -0.94 % ±2.00% ±2.68% ±3.53% module/module-loader.js cache='true' n=1000 files=500 dir='rel' name='/index.js' * -1.66 % ±1.58% ±2.12% ±2.77% module/module-loader.js cache='true' n=1 files=500 dir='abs' name='/' -0.82 % ±4.57% ±6.13% ±8.10% module/module-loader.js cache='true' n=1 files=500 dir='abs' name='' -0.40 % ±4.99% ±6.64% ±8.64% module/module-loader.js cache='true' n=1 files=500 dir='abs' name='/index.js' -1.51 % ±4.19% ±5.63% ±7.43% module/module-loader.js cache='true' n=1 files=500 dir='rel' name='/' 1.88 % ±2.96% ±3.97% ±5.23% module/module-loader.js cache='true' n=1 files=500 dir='rel' name='' 0.87 % ±3.08% ±4.10% ±5.34% module/module-loader.js cache='true' n=1 files=500 dir='rel' name='/index.js' -2.44 % ±5.53% ±7.35% ±9.57% module/module-require.js n=10000 type='dir' 4.80 % ±8.38% ±11.16% ±14.52% module/module-require.js n=10000 type='.js' * 6.75 % ±6.61% ±8.80% ±11.45% module/module-require.js n=10000 type='.json' -6.52 % ±7.31% ±9.72% ±12.66% 

@aduh95aduh95force-pushed the lint-isConcatSpreadable branch from a60b429 to b67284eCompareDecember 14, 2022 23:04
@aduh95aduh95 added the review wanted PRs that need reviews. label Dec 15, 2022
@aduh95
Copy link
ContributorAuthor

/cc @nodejs/tsc for reviews

Copy link
Member

@mcollinamcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@aduh95aduh95 added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. request-ci Add this label to start a Jenkins CI on a PR. labels Dec 15, 2022
@github-actionsgithub-actionsbot removed the request-ci Add this label to start a Jenkins CI on a PR. label Dec 15, 2022
@nodejs-github-bot
Copy link
Collaborator

Copy link
Member

@joyeecheungjoyeecheung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This reminds me that we once had a JS function dedicated to pushing items into an array so that C++ can call that instead of Object::Set (which was slower), and I got rid of that by adding an Array::New() that takes an array of Local<Value> from C++. I wonder if it'd be faster now in cases like getActiveResourcesInfo() if we simply assemble the array from C++ using Array::New()......

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@aduh95aduh95 added the commit-queue Add this label to land a pull request using GitHub Actions. label Dec 17, 2022
@nodejs-github-botnodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Dec 17, 2022
@nodejs-github-botnodejs-github-bot merged commit ca2ec90 into nodejs:mainDec 17, 2022
@nodejs-github-bot
Copy link
Collaborator

Landed in ca2ec90

RaisinTen added a commit to RaisinTen/node that referenced this pull request Dec 29, 2022
This change reduces the number of calls that were crossing the JS-C++ boundary to 1 and also removes the need for calling Array::New() multiple times internally and ArrayPrototypeConcat-ing the results later on, thus improving performance. Refs: nodejs#44445 (review) Signed-off-by: Darshan Sen <[email protected]>
targos pushed a commit that referenced this pull request Jan 1, 2023
PR-URL: #44445 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
@RafaelGSSRafaelGSS mentioned this pull request Jan 2, 2023
nodejs-github-bot pushed a commit that referenced this pull request Jan 3, 2023
This change reduces the number of calls that were crossing the JS-C++ boundary to 1 and also removes the need for calling Array::New() multiple times internally and ArrayPrototypeConcat-ing the results later on, thus improving performance. Refs: #44445 (review) Signed-off-by: Darshan Sen <[email protected]> PR-URL: #46014 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
@RafaelGSS
Copy link
Member

As mentioned in the v19.4.0 proposal (#46061 (comment)), this seems to be causing unexpected behavior in some modules. So, I'm including the flag dont-land-on-vXX until we validate whether this is a bug or not.

More details of the error can be found on the proposal CITGM.

@RafaelGSS
Copy link
Member

Feel free to remove it when revisited.

@aduh95
Copy link
ContributorAuthor

Removed the labels as #46108 fixed the unexpected behavior.

RafaelGSS pushed a commit to RafaelGSS/node that referenced this pull request Jan 17, 2023
PR-URL: nodejs#44445 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
RafaelGSS pushed a commit to RafaelGSS/node that referenced this pull request Jan 17, 2023
This change reduces the number of calls that were crossing the JS-C++ boundary to 1 and also removes the need for calling Array::New() multiple times internally and ArrayPrototypeConcat-ing the results later on, thus improving performance. Refs: nodejs#44445 (review) Signed-off-by: Darshan Sen <[email protected]> PR-URL: nodejs#46014 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
RafaelGSS pushed a commit that referenced this pull request Jan 20, 2023
PR-URL: #44445 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
RafaelGSS pushed a commit that referenced this pull request Jan 20, 2023
This change reduces the number of calls that were crossing the JS-C++ boundary to 1 and also removes the need for calling Array::New() multiple times internally and ArrayPrototypeConcat-ing the results later on, thus improving performance. Refs: #44445 (review) Signed-off-by: Darshan Sen <[email protected]> PR-URL: #46014 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
@RafaelGSSRafaelGSS mentioned this pull request Jan 20, 2023
juanarbol pushed a commit that referenced this pull request Jan 26, 2023
PR-URL: #44445 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
juanarbol pushed a commit that referenced this pull request Jan 26, 2023
This change reduces the number of calls that were crossing the JS-C++ boundary to 1 and also removes the need for calling Array::New() multiple times internally and ArrayPrototypeConcat-ing the results later on, thus improving performance. Refs: #44445 (review) Signed-off-by: Darshan Sen <[email protected]> PR-URL: #46014 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
@juanarboljuanarbol mentioned this pull request Jan 28, 2023
juanarbol pushed a commit that referenced this pull request Jan 31, 2023
This change reduces the number of calls that were crossing the JS-C++ boundary to 1 and also removes the need for calling Array::New() multiple times internally and ArrayPrototypeConcat-ing the results later on, thus improving performance. Refs: #44445 (review) Signed-off-by: Darshan Sen <[email protected]> PR-URL: #46014 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author readyPRs that have at least one approval, no pending requests for changes, and a CI started.needs-ciPRs that need a full CI run.review wantedPRs that need reviews.toolsIssues and PRs related to the tools directory.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@aduh95@nodejs-github-bot@RafaelGSS@mcollina@tniessen@joyeecheung