-
Notifications
You must be signed in to change notification settings - Fork 39
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: compare inherited properties not prototypes #22
Conversation
- The v1.0.0 refactor created a breaking change by only performing deep equality comparisons between objects' own enumerable properties, and performing a strict equality comparison between objects' prototypes. This fix reverts the behavior so that deep equality comparisons are performed between objects' own and inherited enumerable properties, and no comparison is performed between objects' prototypes.
This LGTM. Curious though, how is the impact on our benchmarks? |
LGTM too, since this seems as performatic and correct as it can be. |
@meeber looks like this one needs a rebase 😄 |
Scratch that, looks like it could update automatically |
@keithamus Github should offer a "rebase on master" button for us. |
Yeah changes shouldn't conflict among the PRs so just gotta wait for travis to finish catching up :D |
I do all my development on a small vps so dunno how accurate or consistent benchmarks will be when I run them. But below is what I got. I'd expect the biggest difference to be when comparing objects with huge prototypes.
|
Looks reasonable to mee, we didn't lose much in terms of performance. |
equality comparisons between objects' own enumerable properties, and
performing a strict equality comparison between objects' prototypes.
This fix reverts the behavior so that deep equality comparisons are
performed between objects' own and inherited enumerable properties,
and no comparison is performed between objects' prototypes.