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

Jit: Long method Jit time for ImmutableList.Enumerator.Dispose #8726

Closed
benaadams opened this issue Aug 11, 2017 · 3 comments
Closed

Jit: Long method Jit time for ImmutableList.Enumerator.Dispose #8726

benaadams opened this issue Aug 11, 2017 · 3 comments
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI enhancement Product code improvement that does NOT require public API changes/additions JitThroughput CLR JIT issues regarding speed of JIT itself tenet-performance Performance related issue
Milestone

Comments

@benaadams
Copy link
Member

JitTime 
(msec)	ILSize	NativeSize
17.4        74         163	

Method
System.Collections.Immutable.ImmutableList1+Enumerator[System.Collections.Generic.KeyValuePair2[System.__Canon,System.__Canon]].Dispose()

BG    Module
JIT   System.Collections.Immutable.dll

Corefx issue https://github.com/dotnet/corefx/issues/23125
MsBuild issue dotnet/msbuild#2419

/cc @davkean

@benaadams
Copy link
Member Author

benaadams commented Aug 11, 2017

Method for reference

https://github.com/dotnet/corefx/blob/1fe52f7ff4e29462f75da9ae1c35d9789ad13709/src/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableList_1.Enumerator.cs#L150-L162

public void Dispose()
{
    _root = null;
    _current = null;
    Stack<RefAsValueType<Node>> stack;
    if (_stack != null && _stack.TryUse(ref this, out stack))
    {
        stack.ClearFastWhenEmpty();
        s_EnumeratingStacks.TryAdd(this, _stack);
    }
    
    _stack = null;
}

@RussKeldorph
Copy link
Contributor

@AndyAyersMS Not clear this is actionable at this point, but assigning since you started looking. Feel free to un-assign or close if there is nothing to do.

@AndyAyersMS
Copy link
Member

Yeah, probably not actionable. So am going to close.

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 21, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI enhancement Product code improvement that does NOT require public API changes/additions JitThroughput CLR JIT issues regarding speed of JIT itself tenet-performance Performance related issue
Projects
None yet
Development

No branches or pull requests

4 participants