A table sorted by inclusive time puts the entry point at the top and tells you nothing; sorted by exclusive time it hides the structure. The graph shows both at once.
# width = share of samples, so wide is expensive
# height = stack depth, so a tall thin tower is deep and cheap
# a wide plateau near the top is where the time actually goes
$ stackcollapse.pl out.stacks | flamegraph.pl > profile.svg
The instinct to read it as a timeline is wrong and worth unlearning — the x axis is alphabetical, not chronological, so a wide block is total time across the whole sample rather than one long call. The blocks to look at are the widest ones nearest the top, because those are doing work rather than delegating it. Producing one before and after a change and comparing shapes is more informative than comparing two numbers.