Skip to content
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 JSON perf regressions reported by #73242. #73306

Merged

Conversation

eiriktsarpalis
Copy link
Member

I was able to isolate the perf regression to using object initializer syntax in the state structs introduced in #72789. Not sure why, @EgorBo any insights?

Fix #73242.

@eiriktsarpalis eiriktsarpalis requested a review from layomia August 3, 2022 15:32
@eiriktsarpalis eiriktsarpalis requested review from krwq and EgorBo August 3, 2022 15:32
@eiriktsarpalis eiriktsarpalis added this to the 7.0.0 milestone Aug 3, 2022
@eiriktsarpalis eiriktsarpalis self-assigned this Aug 3, 2022
@ghost
Copy link

ghost commented Aug 3, 2022

Tagging subscribers to this area: @dotnet/area-system-text-json, @gregsdennis
See info in area-owners.md if you want to be subscribed.

Issue Details

I was able to isolate the perf regression to using object initializer syntax in the state structs introduced in #72789. Not sure why, @EgorBo any insights?

Fix #73242.

Author: eiriktsarpalis
Assignees: -
Labels:

area-System.Text.Json

Milestone: -

@EgorBo
Copy link
Member

EgorBo commented Aug 3, 2022

@eiriktsarpalis interesting, I am able to reproduce it locally, it has a noticeably perf hit because these structs are quite big.

@eiriktsarpalis eiriktsarpalis merged commit 5ed2442 into dotnet:main Aug 3, 2022
@eiriktsarpalis eiriktsarpalis deleted the fix-json-perf-regression branch August 3, 2022 20:34
@DrewScoggins
Copy link
Member

DrewScoggins commented Aug 9, 2022

We are seeing improvements from this change on
win-x64: dotnet/perf-autofiling-issues#7177
win-x86: dotnet/perf-autofiling-issues#7196
win-amd64: dotnet/perf-autofiling-issues#7224

@kunalspathak
Copy link
Member

kunalspathak commented Aug 11, 2022

Linux/arm64 improvement: dotnet/perf-autofiling-issues#7248
alpine-x64 improvement: dotnet/perf-autofiling-issues#8108

@ghost ghost locked as resolved and limited conversation to collaborators Oct 2, 2022
@eiriktsarpalis eiriktsarpalis added the tenet-performance Performance related issue label Nov 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Regressions in System.Text.Json.Serialization.Tests.ReadJson
6 participants