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