On Tue, Jun 11, 2013 at 2:38 AM, Kentaro Hara <[email protected]> wrote:
>> Also, I'm a bit surprised at the way the v8 DOM callbacks end up in
>> the profile: those methods are usually trivial, with the real work
>> being somewhere deep in the core of Blink. Is it expected that only
>> the v8 entry point into Blink shows up when using the profiling tool?
>
>
> I've played around the V8 timeline tool, but it doesn't give us reasonable
> data about DOM. In the timeline tool, DOM details (e.g. style recalculation
> or layout) are not profiled. In addition, those heavy DOM operations can be
> counted as a V8 execution time, because the timeline tool doesn't hook entry
> points from JITted code (Only entry points from non-JITted code are hooked).
> Yang will know more.

Yang, can you explain this point a bit further? Does this mean that if
I see some DOM entry point taking, e.g., 10% of ticks I shouldn't
trust it at all? Or does it just mean that there's some stuff I'm
missing?

> I've discussed how to improve the V8 timeline tool for DOM, but we found
> that it might be hard to extend it in a straightforward manner for some
> reasons. Thus, we started implementing another profiler based on trace
> events which will give you coarse-grained view about what percentages of the
> main thread are changed on what (e.g. V8's GC, parsing, compiling, DOM
> attribute getters, style recalculation etc). I'm implementing the profiler
> but it will take a bit more time to land it.
>
>
>
> On Tue, Jun 11, 2013 at 6:15 PM, Jochen Eisinger <[email protected]>
> wrote:
>>
>> +kentaro for some profiling insights
>>
>>
>> On Tue, Jun 11, 2013 at 7:24 AM, Adam Klein <[email protected]> wrote:
>>>
>>> I'm trying to profile the v8 execution of a web app using Chromium's
>>> content_shell with some success. But I'm also getting some odd
>>> results. I'm using a commandline like:
>>>
>>> content_shell --no-sandbox --js-flags='--prof --noprof-lazy
>>> --log-timer-events' http://localhost:8000/mypage
>>>
>>> And then processing the v8.log with
>>>
>>> v8/tools/linux-tick-processor v8.log
>>>
>>> The resulting profile has some quirks: none of the "JavaScript"
>>> portion of the profile lists more than 0.2% of the total ticks (even
>>> though there's >500ms of JS execution time as part of the app, as
>>> shown by both plot-timer-events and the Inspector's timeline). The C++
>>> stack, meanwhile, has several major points of interest. Most of the
>>> big ones are Blink C++ callbacks (e.g.,
>>> NodeV8Internal::dispatchEventMethodCallback), and __pthread_cond_wait
>>> shows up. But the top one is "__write", usually taking >30% of the
>>> ticks.
>>>
>>> If I go down to the call stacks, I get a bunch of "LazyCompile
>>> someMethod" entries which terminate at __write, so it seems I'm still
>>> getting some idea of which JS is taking the time, but I'm rather
>>> surprised that __write is the endpoint (it's mostly DOM tree
>>> walking/manipulation). Is this expected?
>>>
>>> Also, I'm a bit surprised at the way the v8 DOM callbacks end up in
>>> the profile: those methods are usually trivial, with the real work
>>> being somewhere deep in the core of Blink. Is it expected that only
>>> the v8 entry point into Blink shows up when using the profiling tool?
>>>
>>> Any insights would be valuable.
>>>
>>> Thanks,
>>> Adam
>>>
>>> --
>>> --
>>> v8-users mailing list
>>> [email protected]
>>> http://groups.google.com/group/v8-users
>>> ---
>>> You received this message because you are subscribed to the Google Groups
>>> "v8-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>>
>>
>
>
>
> --
> Kentaro Hara, Tokyo, Japan

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to