views:

41

answers:

2

What is (program) in the function column of the chrome debugger?

+1  A: 

(program) is Chrome itself, the root of the tree calling all other code...it's there because the jump from native code to JavaScript, resource loading, etc. has to start somewhere :)

You can see examples of the treeview in the Chrome developer tool docs.

Nick Craver
@nick, ah -- so if thats a high percent, is there anything i can do about it?
hvgotcodes
@hvgotcodes - It sound be the percentage of all portions below. Now if the *self* percentage is high, there's not much you can do....unless your markup in general is very heavy.
Nick Craver
A: 

As @Nick says, it has to start somewhere.

It looks like the CPU Profiler part is like so many other profilers that are based on the same concepts as gprof.

For example, self is nearly a useless number unless there is something like a bubble-sort of a big array of numbers in some code that you can edit. Highly unlikely.

Total should include callees, so that's more useful. However, unless samples are taken during blocked time as well as during running time, it is still pretty useless except for totally cpu-bound programs.

It gives you these stats by function, rather than by line of code. That means (if you could rely on Total percent) that a function costs that much, in the sense that if you could somehow make it take zero time, such as by stubbing it, that percent is how much time you would save.

So if you want to focus on a costly function, you need to hunt inside it for what could be optimized. In order to do that, you need to know how the time is subdivided among the lines of code in the function. If you had cost on a line of code basis, it would take you directly to those lines.

I don't know if you will be able to get a better profiler, like a wall-clock stack sampler reporting at the line level, such as Zoom. Here's how I do it.

Mike Dunlavey
@mike can i get a better profiler for chrome?
hvgotcodes
@hvgotcodes: Not sure. I don't use them, because I just take stackshots in a debugger. But you're on Linux, right? Can you get a trial copy of Zoom? It's pretty good.
Mike Dunlavey
@mike not linux. mac.
hvgotcodes
@hvgotcodes: Well then, the only help I can offer is the method I rely on.
Mike Dunlavey