-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Expand CreateSpan in T0 #91403
Expand CreateSpan in T0 #91403
Conversation
I've noticed my app allocate 100GB of `RuntimeFieldInfoStub` instances in the VM implementation while running the T0 code in my app, expanding in T0 should avoid such allocations.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsI've noticed my app allocate 100GB of
|
@jkotas Could this get a backport to 8.0? |
It is up to the JIT team to make the call on a backport and bring it through the servicing process. I do not think that this meets the bar for backport to .NET 8. It is by design that T0 compilation consumes extra memory, including extra GC allocations that would be eliminated by full JIT optimizations.
Why is not T1 compilation kicking fast enough for your app? It takes a while to allocate 100GB of RuntimeFieldInfoStub, I would expect T1 compilation to kick in a long before this much of RuntimeFieldInfoStub instances get allocated. |
I understand that but with this optimalization pessimizing T0 code so much using it without AggressiveOptimization turns out to be a bad idea, making it effectively useless and a serious performance issue.
I've actually misread the data, it's able to allocate 100MB, not 100GB. The code in question consists of many hot loops which probably take a lot of time to OSR. |
I agree with Jan that we already have tons of similar cases in tier0, e.g. We also know that sometimes a method may stay in Tier0 for too long because of the "promotion queue" problem (We had an idea to make it priority-based and e.g. all methods with allocators inside could get a higher priority). |
@MichalPetryka, there are build errors. Please resolve it before merging. |
@MihuBot -tier0 |
@MichalPetryka @MihaZupan is MihuBot failing because of this PR or it's a general issue? Does it fail on other changes? |
It's failing somewhere in |
Seems like the issue is specifically with this PR and tier 0. |
/azp list |
This comment was marked as resolved.
This comment was marked as resolved.
/azp run runtime-coreclr pgo, runtime-coreclr libraries-pgo |
Azure Pipelines successfully started running 2 pipeline(s). |
Let's run some pipelines which don't disable TieredCompilation because green inner-loop CI likely means it was never executed in Tier0. |
/azp run runtime-coreclr outerloop, runtime-coreclr gcstress0x3-gcstress0xc |
Oops, wrong PR 😄 |
Azure Pipelines successfully started running 2 pipeline(s). |
@MihuBot -tier0 |
I've ran jitdiff locally with --tier0 and this PR didn't seem to cause any issues for me so I am going to merge it. Thanks, @MichalPetryka! |
I've noticed my app allocate 100MB of
RuntimeFieldInfoStub
instances in the VM implementation while running the T0 code in my app, expanding in T0 should avoid such allocations.