Skip to content

Conversation

@BridgeAR
Copy link
Member

This combines minor performance improvements for edge cases as well as adding more tests for partialDeepStrictEqual, resolving a TODO, and fixing a bug while comparing invalid dates (not taking into account that extra properties might exist).

The performance gain is mostly for objects containing symbols. We do not have benchmarks for these and our current benchmarks will not show much difference.

See commit messages for details.

@nodejs-github-bot nodejs-github-bot added assert Issues and PRs related to the assert subsystem. needs-ci PRs that need a full CI run. util Issues and PRs related to the built-in util module. labels Dec 15, 2025
@BridgeAR BridgeAR force-pushed the BridgeAR/2025-12-14-improve-assert-perf branch from 4f7303b to 641e674 Compare December 15, 2025 22:50
@codecov
Copy link

codecov bot commented Dec 16, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.53%. Comparing base (28f468a) to head (645d056).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #61076   +/-   ##
=======================================
  Coverage   88.53%   88.53%           
=======================================
  Files         703      703           
  Lines      208588   208574   -14     
  Branches    40233    40224    -9     
=======================================
+ Hits       184666   184668    +2     
+ Misses      15942    15913   -29     
- Partials     7980     7993   +13     
Files with missing lines Coverage Δ
lib/internal/assert/assertion_error.js 95.97% <100.00%> (+0.03%) ⬆️
lib/internal/util/comparisons.js 99.70% <100.00%> (-0.30%) ⬇️

... and 28 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@BridgeAR BridgeAR added the request-ci Add this label to start a Jenkins CI on a PR. label Dec 16, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Dec 19, 2025
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

Copy link
Contributor

@aduh95 aduh95 left a comment

Choose a reason for hiding this comment

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

Adding request for changes so this doesn't land before the --no-js_float16array runtime flag is removed. Alternatively, we could remove it from this PR as this has little to do with performance.

@BridgeAR
Copy link
Member Author

@aduh95 I am not following why we have to wait for it to be removed. We definitely ship with the support and removing that won't happen. I think we can absolutely land this as is.

@aduh95
Copy link
Contributor

aduh95 commented Dec 20, 2025

I am not following why we have to wait for it to be removed. We definitely ship with the support

We ship with both support and lack there of, it's a runtime flag.

I think we can absolutely land this as is.

I think we can absolutely wait, there's no rush, is there?

The property comparison of invalid dates regressed when starting
to handle invalid dates as being equal.
This is a very small improvement for error creation.
@BridgeAR BridgeAR force-pushed the BridgeAR/2025-12-14-improve-assert-perf branch from 641e674 to 645d056 Compare December 22, 2025 15:26
@BridgeAR BridgeAR added the commit-queue-rebase Add this label to allow the Commit Queue to land a PR in several commits. label Dec 22, 2025
@aduh95 aduh95 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 22, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Dec 22, 2025
@nodejs-github-bot
Copy link
Collaborator

@BridgeAR BridgeAR added the commit-queue Add this label to land a pull request using GitHub Actions. label Dec 22, 2025
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Dec 22, 2025
@nodejs-github-bot
Copy link
Collaborator

Landed in 416db75...6157c81

nodejs-github-bot pushed a commit that referenced this pull request Dec 22, 2025
PR-URL: #61076
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
nodejs-github-bot pushed a commit that referenced this pull request Dec 22, 2025
The property comparison of invalid dates regressed when starting
to handle invalid dates as being equal.

PR-URL: #61076
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
nodejs-github-bot pushed a commit that referenced this pull request Dec 22, 2025
This is a very small improvement for error creation.

PR-URL: #61076
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

assert Issues and PRs related to the assert subsystem. author ready PRs that have at least one approval, no pending requests for changes, and a CI started. commit-queue-rebase Add this label to allow the Commit Queue to land a PR in several commits. needs-ci PRs that need a full CI run. util Issues and PRs related to the built-in util module.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants