Edd Barrett wrote: > On Sat, Mar 19, 2016 at 09:06:26AM +0100, Alexandre Ratchov wrote: > > The browsers problems seem caused by the way pthreads behave; > > browsers appear to spin. With the proposed scheduler they spin > > less. But the real question is why they spin at all? > > Inspired by this comment, I set out to see if I could find *where* the > browsers are spinning. "Just build the browsers with profiling > instrumentation and look where the time goes when playing a youtube > video" I thought. "Easy" I thought. > > Well no. We build our chrome and firefox with clang, which doesn't > support gprof style profiling. > > Clang does have this -fprofile-instr-generate flag, which throws out > some profiling data at runtime, but it appears it is designed to be > used by the compiler itself as compile-time optimisation hints[1]. > It's not even clear if there is any timing data in there. > > There's another clang profiling mode which depends upon Linux perf, > which is obviously not an option for us. > > Nevertheless, I decided to try it on the off-chance that clang's > profiling data could be useful (and I'm totally accepting that, if it > is, I will probably have to write a python script to make sense of the > output). Sadly I stumbled at the first hurdle:
I've also been meaning to try something like this: http://poormansprofiler.org/ Seems applicable here.