how to interpret the output when running with --trac-deopt on?

37 views
Skip to first unread message

stepheneb

unread,
Apr 3, 2012, 1:51:18 AM4/3/12
to v8-users
I've created instructions on building v8 and running a molecular
dynamics engine we are working on with various profiling flags turned
on:

https://gist.github.com/2289269

I'm working to understand the serious performance regression in Chrome
I reported here:

Huge performance regression/variation in Chrome after changing window
size and reloading (using typed arrays and SVG)
http://code.google.com/p/chromium/issues/detail?id=121196

I do not yet know if the data I am collecting also shows the kind of
slowdowns we are seeing in Chrome -- but is it already clear that
something is causing the main integration function to be deoptimized
over and over:

makeIntegrator.integrate()

See the profile.log here: https://raw.github.com/gist/2289269/profiling.log

I've been reading Florian Loitsch's series on profiling and optimizing
code for V8 starting with this post:

http://floitsch.blogspot.com/2012/03/optimizing-for-v8-introduction.html

But I'm still trying to understand what is causing the
deoptimization ... the deoptimization of makeIntegrator.integrate()
makes the code run much slower than it needs to.

I'm getting a series of reports like these:

**** DEOPT: makeIntegrator.integrate at bailout #436, address 0x0,
frame size 1004
;;; @2986: check-maps.
[deoptimizing: begin 0x2b41155d makeIntegrator.integrate @436]
translating makeIntegrator.integrate => node=1794, height=112

...

**** DEOPT: makeIntegrator.integrate at bailout #213, address 0x0,
frame size 984
;;; @1546: deoptimize.
[deoptimizing: begin 0x2b41155d makeIntegrator.integrate @213]
translating makeIntegrator.integrate => node=853, height=132

Is there more documentation for understanding results like:

;;; @2986: check-maps

and

;;; @1546: deoptimize

I do not yet have good profile data to make any definitive
interpretation of the following results .. but I am normally seeing
the model itself running at 550-600 model-steps/s (Mac OS X 10.6.8,
2.66 GHz Intel Core i7, w/8GB memory).

When Chrome is running slowly the rate drops to 120-150 ... however
during one test on Windows 7 (on the same machine) I got a measurement
of 1724 model-steps/s.

It would be nice to get that performance more regularly.

FYI: you can see the model run with a visualization of molecular
dynamics here:

http://concord-consortium.github.com/lab/examples/simple-atoms-model/simple-atoms-model.html
Reply all
Reply to author
Forward
0 new messages