Open Bug 1351399 Opened 8 years ago Updated 2 years ago

[meta] Profile cache misses in display list + FrameLayerBuilder code

Categories

(Core :: Web Painting, enhancement, P2)

enhancement

Tracking

()

People

(Reporter: mstange, Unassigned)

References

(Depends on 1 open bug, Blocks 2 open bugs)

Details

(Keywords: meta)

Attachments

(2 files)

I ran valgrind on the first 36 painted frames of the 20000 divs animation testcase at https://people-mozilla.org/~jmuizelaar/implementation-tests/dl-test.html using valgrind --tool=callgrind --cache-sim=yes --smc-check=all-non-file --vex-iropt-register-updates=allregs-at-mem-access --read-inline-info=yes --trace-children=yes ./dist/bin/firefox and am attaching the resulting profile here. We might find useful information in it. I don't know how well the symbol information transfers between machines.
Can be opened using KCacheGrind.
Depends on: 1351412
(In reply to Markus Stange [:mstange] from comment #0) > I don't know how well the symbol information transfers between machines. It looks to me like everything transfers OK, except for the sources, so it can't show annotated source code. Paths like /home/mstange/code/mozilla/layout/painting/FrameLayerBuilder.cpp have apparently been baked into the profile file. Looks like you have some interesting numbers to look at. This profile shows 27.6M LL misses, of which 13.9M are from nsIFrame::BuildDisplayListForChild and its dependents. The L1 miss numbers show an even greater percentage of the total -- 474M out of a total of 534M.
New profile from revision 6dfa56094f0c. AssertDisplayItemData causes the most expensive hash table related data read misses.
Depends on: 1379344
Depends on: 1379406
Depends on: 1379694
Priority: -- → P2
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: