Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Investigate heavy stack from ConcurrentQueueSegment #18371

@fanyang-mono

Description

@fanyang-mono

Steps to Reproduce

Make the following change to mono/netcore/build.sh
Screen Shot 2020-01-07 at 11 20 17 AM

Then run the following script by following the instructions in it.
profileMonoScript.sh.zip

Current Behavior

Heavy stack from ConcurrentQueueSegment, according to the following flamegraph (the highlighted area)
Screen Shot 2020-01-07 at 10 29 24 AM

January 8 LLVM AOT flamegraph with ConcurrentQueueSegment<T>.TryDequeue highlighted:
Screen Shot 2020-01-17 at 12 10 26

Expected Behavior

ConcurrentQueueSegment which does only few Volatile.Reads should take a small portion of time of the whole program.

On which platforms did you notice this

[ ] macOS
[x] Linux
[ ] Windows

Version Used:

mono master: 61eb2be from Dec 30th, 2019

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions