Makogan
Makogan

Reputation: 9632

Why do I get symbol executions outside of the scope of my threads

For learning purposes I was making a custom threadpool which happens to be performing slowly atm. I profile the code with cargo flamegraph and I am having a hard time understanding something in the output, it shows me this:

enter image description here https://svgshare.com/i/13fs.svg

Notice how there are 3 symbols [[heap]] [[anon]] [[unkown]] that are taking 60% of the runtime.

I am compiling with debug symbols on:

[profile.release-with-debug]
inherits = "release"
debug = true

So first, I don't understand why I am getting three symbols that are effectively nameless.

The other thing I don't understand is why they appear outside the scope of thread_start? A large number of the symbols found under the 3 nameless ones are actually spawned by the threadpool work, so I don;t quite understand why they are showing up as if they belonged to a different scope?

Upvotes: 1

Views: 69

Answers (0)

Related Questions