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

[release/9.0] Merge RC2 changes into 9.0 #108677

Merged
merged 21 commits into from
Oct 8, 2024

Conversation

ericstj
Copy link
Member

@ericstj ericstj commented Oct 8, 2024

This ports the changes from RC2 into the GA branch. There were no conflicts, but we should double check that everything is in order (especially dependency versions confirmed).

NO SQUASH - MERGE commit

ericstj and others added 21 commits August 26, 2024 17:40
Improve performance when getting parts from a package
Previously this comparison was Ordinal after calling ToUpperInvariant

This was changed to InvariantIgnoreCase which breaks because it will
treat things like ß and ss as equal where they were not before.
We can remove every extra field in one go, instead of removing them one by one.
Validate performance counter data to avoid excessive looping and memory consumption.
…l TFMs

Marvin is the string hashing used in modern .NET; this change extends this behaviour to `string` keys when used with `MemoryCache` - noting that in many scenarios we *expect* the key to be a `string` (even though other types are allowed).
**NO MERGE** This needs to be retargeted to RC2 once that branch is created.

Forward port of .NETFramework fix.

Improve performance when getting parts from a package

Fix regression in ExtensionEqualityComparer

Previously this comparison was Ordinal after calling ToUpperInvariant

This was changed to InvariantIgnoreCase which breaks because it will
treat things like ß and ss as equal where they were not before.

----
#### AI description  (iteration 1)
#### PR Classification
Performance improvement

#### PR Summary
This pull request improves the performance of sorting parts in the packaging system by optimizing the sorting algorithm and data structures used.
- `Package.cs`: Replaced the existing dictionary with a sorted array and dictionary combination for better performance and added a new method `CopyPartDictionaryToPartList`.
- `ZipPackage.cs`: Replaced `SortedSet` with a `Dictionary` for managing `ZipPackagePartPiece` and updated related methods to use the new data structure.
…otnet#108018)

Developers, often in tests, rely on seeded Random instances producing the same sequence of values on every use. We made a change in .NET 9, though, that changed the sequence GetItems produces, due to employing a different algorithm. This fixes that special-case to only be used when the developer couldn't rely on the results being deterministic, namely when using either `new Random()` or `Random.Shared`. If a seed is provided or if a custom derived implementation is used, it falls back to the old behavior.

Co-authored-by: Stephen Toub <stoub@microsoft.com>
…8025)

* Fix custom icu fingerprinting.

* fix

* Update src/mono/browser/runtime/loader/icu.ts

Co-authored-by: Pavel Savara <pavelsavara@microsoft.com>

---------

Co-authored-by: Ilona Tomkowicz <32700855+ilonatommy@users.noreply.github.com>
Co-authored-by: Pavel Savara <pavelsavara@microsoft.com>
…108091)

* dont try to capture threadId for NativeAOT

* add config to capture bgc threadid

---------

Co-authored-by: Manish Godse <61718172+mangod9@users.noreply.github.com>
@ericstj ericstj requested a review from pavelsavara as a code owner October 8, 2024 17:32
@dotnet-issue-labeler dotnet-issue-labeler bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Oct 8, 2024
@ericstj ericstj added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) Servicing-approved Approved for servicing release and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Oct 8, 2024
Copy link
Member

@steveharter steveharter left a comment

Choose a reason for hiding this comment

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

The PerformanceCounter validation changes look good.

@ericstj ericstj merged commit 5a1eedb into dotnet:release/9.0 Oct 8, 2024
164 of 167 checks passed
@ericstj ericstj removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Oct 9, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Nov 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants