-
Notifications
You must be signed in to change notification settings - Fork 25.1k
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
fix(perf): faster looseIdentical implementation #6364
Conversation
? _looseIdentical(a, b) | ||
: identical(a, b); | ||
|
||
bool _looseIdentical(a, b) => |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a comment why this should stay separate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
Remove String type check in looseIdentical in JS-mode. It is not necessary as dart2js already compiles `identical` to `===` which compares string contents. Inline call sites. This improves change detection of plain fields by 40%. On a large internal app the improvement is 5%.
3d9079c
to
d67f649
Compare
Merging PR #6364 on behalf of @jeffbcross to branch presubmit-jeffbcross-pr-6364. |
Merging PR #6364 on behalf of @rkirov to branch presubmit-rkirov-pr-6364. |
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Remove String type check in looseIdentical in JS-mode. It is not necessary as dart2js already compiles
identical
to===
which compares string contents. Inline call sites.This improves change detection of plain fields by 40%. On a large internal app the improvement is 5%.