I have an xdebug profile on a php script that I parsed with kcachegrind. Here is a screenshot showing that the most time spent inside any given function was spent inside <cycle 1> and the top 'Callers' were made from 'include' and 'include_once' in index.php.

This profile was run during a stress-test using apache 'ab' so there were many concurrent connections occurring.

Although @osgx mentions that you can turn off Cycle Detection, I just wanted to point out here that if you feel that <cycle 1> is hiding something of interest to you, that you probably should turn off cycle detection as he explains.

It seems to me that turning it off only hides the info about the cycles. It doesn't reveal anything new. This solution seems to be sort of like saying, "if you don't like the story on page 9 then don't read page 9." Turning the feature off has not prevented the cycles from "hiding something of interest to [me]".
– OctopusDec 3 '15 at 17:37

@Octopus It's been a couple years, but I remember that in my case cycle detection actually was hiding something of interest to me. The information I was looking for was either very difficult or impossible to find when I had cycle detection on.
– Cory KleinDec 3 '15 at 17:39

3

@Octopus , what happens sometimes is "cycle detection" coalesces (and obscures) a bunch of details that might be relevant to see broken out; so in that case it is helpful to disable cycle detection and let those details come through. In my case, for instance, there were several __get methods calling each other repetitively and though the usage was perfectly valid, it was eating up tons of CPU. The repetitive in-calling was obscured by cycle detection, which IMO should really be thought of as "cycle detection/consolidation".
– Ezekiel VictorMay 10 '16 at 5:53