I am attempting to profile my code, and I'm unable to interpret the
results.  So first, the meta-question is, what's the best forum to use to
request help with such things?

The code I'm profiling is the server side of a moderately complex webapp.
For simplicity, I've wrapped it with net/http/cgi and am calling it from
the command line as a CGI "script".  As such, it is handling a single
request with no actual network traffic.  Also, I've disabled the garbage
collector.  I'm calling pprof.StartCPUProfile at the top of ServeHTTP.  The
pprof output is at

https://scholacantorum.org/pprof.svg

It shows three different call chains.  The one that actually includes my
code, starting at runtime.main, is only 6% of the total CPU samples.  There
are two other call chains that are entirely within the runtime package, one
of them taking 17% of the time and the other taking a whopping 70% of the
time, and I can't figure out what they're doing.  I would appreciate any
guidance.

The chain that is taking 70% of the time is

gcBgMarkWorker

systemstack

gcBgMarkWorker.func2

gcDrain

markroot

markroot.func1

suspendG

Underneath suspendG it splits into nanotime, osyield, procyield, and
preemptM, the latter of which has signalM, tgkill, and getpid children.
getpid alone is shown as taking 4% of the CPU of the entire program!  What
the heck is this call chain doing, with nearly three quarters of my time?

The chain that is taking 17% of the time is

mcall

park_m

schedule

findrunnable

stopm

mPark

notesleep

futexsleep

futex

Again I have no clue what this is doing.  Any guidance is welcome,
including pointers to other forums better suited for such questions.

Regards,
Steve

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAAnpqKF4QXiL6fhOswgyg3xrE99HLnqQTSW8z3u70mes15suSw%40mail.gmail.com.

Reply via email to