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

Avoid scaning the used region if there are no free units #81525

Merged
merged 3 commits into from
Apr 5, 2023

Conversation

cshung
Copy link
Member

@cshung cshung commented Feb 2, 2023

This PR implements a simple optimization to avoid scanning the used regions if we knew the number of free units is not enough to fit the allocation.

Allocating a new region is a relatively rare operation, but it is used extensively when starting a NoGC region. This should help the performance for TryStartNoGCRegion, especially for the large ones.

Here is the validation done for the PR.

  • GC Perf Sim
    • Normal Server
    • Normal Workstation
    • Large Pages Server
    • Large Pages Workstation
    • Low Memory Container
    • High Memory Load
  • Microbenchmarks
    • V8 Test
    • Top 20 Microbenchmarks
  • ASPNet Benchmarks
    • JsonMin - Windows
    • JsonMin - Linux
    • Fortunes ETF - Windows
    • Fortunes ETF - Linux

@cshung cshung self-assigned this Feb 2, 2023
@cshung cshung marked this pull request as draft February 2, 2023 04:01
@ghost
Copy link

ghost commented Feb 2, 2023

Tagging subscribers to this area: @dotnet/gc
See info in area-owners.md if you want to be subscribed.

Issue Details

null

Author: cshung
Assignees: cshung
Labels:

area-GC-coreclr

Milestone: -

@ghost ghost closed this Mar 4, 2023
@ghost
Copy link

ghost commented Mar 4, 2023

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghost ghost locked as resolved and limited conversation to collaborators Apr 4, 2023
@cshung cshung reopened this Apr 4, 2023
@cshung cshung marked this pull request as ready for review April 5, 2023 18:22
@cshung cshung merged commit 3309b0a into dotnet:main Apr 5, 2023
@cshung cshung deleted the public/optimize-region-allocator branch April 5, 2023 20:46
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants