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

Optimized the Type Module Source Generator #6388

Merged
merged 2 commits into from
Jul 25, 2023
Merged

Optimized the Type Module Source Generator #6388

merged 2 commits into from
Jul 25, 2023

Conversation

michaelstaib
Copy link
Member

No description provided.

@michaelstaib michaelstaib merged commit 6ab57c1 into main Jul 25, 2023
@michaelstaib michaelstaib deleted the mst/sourcegen branch July 25, 2023 20:53
@sonarcloud
Copy link

sonarcloud bot commented Jul 25, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

@davkean
Copy link

davkean commented Aug 14, 2023

Note, I suspect based on code inspection, this fixed a infinite CPU usage we (Visual Studio team) caught in the wild where DataLoaderDefaultsInfo.Equals(object) was calling itself on this path:

hotchocolate.types.analyzers.dll!HotChocolate.Types.Analyzers.Inspectors.DataLoaderDefaultsInfo.Equals
mscorlib.dll!System.Collections.Generic.ObjectEqualityComparer`[System.__Canon].Equals
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.NodeStateTable`+Builder[System.__Canon].GetModifiedItemAndState
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.NodeStateTable`+Builder[System.__Canon].TryModifyEntry
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.PredicateSyntaxStrategy`+Builder[System.__Canon].VisitTree
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.SyntaxStore+Builder.GetSyntaxInputTable
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.SyntaxInputNode`[System.__Canon].UpdateStateTable
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.DriverStateTable+Builder.GetLatestStateTableForNode[System.__Canon]
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.TransformNode`[System.__Canon,System.__Canon].UpdateStateTable
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.DriverStateTable+Builder.GetLatestStateTableForNode[System.__Canon]
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.BatchNode`[System.__Canon].UpdateStateTable
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.DriverStateTable+Builder.GetLatestStateTableForNode[System.Collections.Immutable.ImmutableArray`[System.__Canon]]
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.CombineNode`[System.__Canon,System.Collections.Immutable.ImmutableArray`[System.__Canon]].UpdateStateTable
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.DriverStateTable+Builder.GetLatestStateTableForNode[System.ValueTuple`[System.__Canon,System.Collections.Immutable.ImmutableArray`[System.__Canon]]]
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.SourceOutputNode`[System.ValueTuple`[System.__Canon,System.Collections.Immutable.ImmutableArray`[System.__Canon]]].UpdateStateTable
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.DriverStateTable+Builder.GetLatestStateTableForNode[System.ValueTuple`[System.__Canon,System.__Canon]]
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.SourceOutputNode`[System.ValueTuple`[System.__Canon,System.Collections.Immutable.ImmutableArray`[System.__Canon]]].AppendOutputs
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.GeneratorDriver.UpdateOutputs
microsoft.codeanalysis.dll!Microsoft.CodeAnalysis.GeneratorDriver.RunGeneratorsCore

This was referenced Sep 10, 2023
renovate bot referenced this pull request in orso-co/Orso.Arpa.Api Sep 16, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [HotChocolate.Abstractions](https://chillicream.com/)
([source](https://github.com/ChilliCream/graphql-platform)) | nuget |
minor | `13.4.0` -> `13.5.1` |
| [HotChocolate.AspNetCore](https://chillicream.com/)
([source](https://github.com/ChilliCream/graphql-platform)) | nuget |
minor | `13.4.0` -> `13.5.1` |
| [HotChocolate.AspNetCore.Authorization](https://chillicream.com/)
([source](https://github.com/ChilliCream/graphql-platform)) | nuget |
minor | `13.4.0` -> `13.5.1` |
| [HotChocolate.Data](https://chillicream.com/)
([source](https://github.com/ChilliCream/graphql-platform)) | nuget |
minor | `13.4.0` -> `13.5.1` |
| [HotChocolate.Data.EntityFramework](https://chillicream.com/)
([source](https://github.com/ChilliCream/graphql-platform)) | nuget |
minor | `13.4.0` -> `13.5.1` |
| [HotChocolate.Types](https://chillicream.com/)
([source](https://github.com/ChilliCream/graphql-platform)) | nuget |
minor | `13.4.0` -> `13.5.1` |

---

### Release Notes

<details>
<summary>ChilliCream/graphql-platform
(HotChocolate.Abstractions)</summary>

###
[`v13.5.1`](https://github.com/ChilliCream/graphql-platform/releases/tag/13.5.1)

[Compare
Source](https://github.com/ChilliCream/graphql-platform/compare/13.5.0...13.5.1)

##### What's Changed

- StrawberryShake public access modifier must be default. by
[@&#8203;michaelstaib](https://github.com/michaelstaib) in
[https://github.com/ChilliCream/graphql-platform/pull/6472](https://github.com/ChilliCream/graphql-platform/pull/6472)

**Full Changelog**:
ChilliCream/graphql-platform@13.5.0...13.5.1

###
[`v13.5.0`](https://github.com/ChilliCream/graphql-platform/releases/tag/13.5.0)

[Compare
Source](https://github.com/ChilliCream/graphql-platform/compare/13.4.0...13.5.0)

#### What's Changed

- Added GraphQL Request Field Limit. by
[@&#8203;michaelstaib](https://github.com/michaelstaib) in
[https://github.com/ChilliCream/graphql-platform/pull/6381](https://github.com/ChilliCream/graphql-platform/pull/6381)
- Fixed Subscription Complete Issue for ValueType Message. by
[@&#8203;michaelstaib](https://github.com/michaelstaib) in
[https://github.com/ChilliCream/graphql-platform/pull/6383](https://github.com/ChilliCream/graphql-platform/pull/6383)
- Optimized the Type Module Source Generator by
[@&#8203;michaelstaib](https://github.com/michaelstaib) in
[https://github.com/ChilliCream/graphql-platform/pull/6388](https://github.com/ChilliCream/graphql-platform/pull/6388)
- Adds postgres transport for subscriptions by
[@&#8203;PascalSenn](https://github.com/PascalSenn) in
[https://github.com/ChilliCream/graphql-platform/pull/6387](https://github.com/ChilliCream/graphql-platform/pull/6387)
- Expose internals of Fusion to BCP services by
[@&#8203;PascalSenn](https://github.com/PascalSenn) in
[https://github.com/ChilliCream/graphql-platform/pull/6390](https://github.com/ChilliCream/graphql-platform/pull/6390)
- Include .NET 8.0 tools in StrawberryShake package by
[@&#8203;repne](https://github.com/repne) in
[https://github.com/ChilliCream/graphql-platform/pull/6395](https://github.com/ChilliCream/graphql-platform/pull/6395)
- Upgrade default BCP middleware version by
[@&#8203;PascalSenn](https://github.com/PascalSenn) in
[https://github.com/ChilliCream/graphql-platform/pull/6410](https://github.com/ChilliCream/graphql-platform/pull/6410)
- Scope the projection selection properly when using the mutation
conventions. by [@&#8203;hahn-kev](https://github.com/hahn-kev) in
[https://github.com/ChilliCream/graphql-platform/pull/6444](https://github.com/ChilliCream/graphql-platform/pull/6444)
- Reintroduce RequestContextAccessor by
[@&#8203;michaelstaib](https://github.com/michaelstaib) in
[https://github.com/ChilliCream/graphql-platform/pull/6454](https://github.com/ChilliCream/graphql-platform/pull/6454)
- Publicly expose ability to register an error type on a mutation field
by [@&#8203;benmccallum](https://github.com/benmccallum) in
[https://github.com/ChilliCream/graphql-platform/pull/6463](https://github.com/ChilliCream/graphql-platform/pull/6463)
- Removed Path Pooling by
[@&#8203;michaelstaib](https://github.com/michaelstaib) in
[https://github.com/ChilliCream/graphql-platform/pull/6394](https://github.com/ChilliCream/graphql-platform/pull/6394)
- Fixed naming issues with generic types by
[@&#8203;N-Olbert](https://github.com/N-Olbert) in
[https://github.com/ChilliCream/graphql-platform/pull/6461](https://github.com/ChilliCream/graphql-platform/pull/6461)
- Fixed Batch Pool for DataLoader was cleared to early. by
[@&#8203;michaelstaib](https://github.com/michaelstaib) in
[https://github.com/ChilliCream/graphql-platform/pull/6465](https://github.com/ChilliCream/graphql-platform/pull/6465)
- Added configurable access for generated Strawberry Shake clients
([#&#8203;6374](https://github.com/ChilliCream/graphql-platform/issues/6374))
by [@&#8203;nih0n](https://github.com/nih0n) in
[https://github.com/ChilliCream/graphql-platform/pull/6416](https://github.com/ChilliCream/graphql-platform/pull/6416)

**Full Changelog**:
ChilliCream/graphql-platform@13.4.0...13.5.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 10pm every weekday,every
weekend,before 5am every weekday" in timezone Europe/Berlin, Automerge -
At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/orso-co/Orso.Arpa.Api).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants