Closed Bug 106356 Opened 23 years ago Closed 13 years ago

reduce the number of memory allocation in CSS parser

Categories

(Core :: CSS Parsing and Computation, defect, P3)

defect

Tracking

()

RESOLVED WONTFIX
Future

People

(Reporter: cathleennscp, Unassigned)

References

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

Details

(Keywords: perf, Whiteboard: [MemShrink])

Attachments

(1 file)

trace-malloc results for mozilla startup, with blank page

Type                    Count    Bytes %Total
TOTAL                  115396  5863421 100.00
void*                   23517   943767  16.10
registry-Buffer             1   512000   8.73
xpti-unclassified         250   274080   4.67
unclassified-string      5623   203441   3.47
JSScopeProperty          4460   160560   2.74
gtk-unclassified          928   159473   2.72
nsZipArchive             3438   147662   2.52
JS-Array                 4654   144448   2.46
js_MatchToken            5046   135536   2.31
FrameArena                 31   127565   2.18
JS-script                 866   125423   2.14
nsXULElement             2086   118296   2.02
JS-atom                  4085   114218   1.95
CSSDeclarationImpl       2732   109940   1.88
nsCSSRule                1342   106488   1.82
JSScope                  1140    95760   1.63
nsComponentManagerImpl   2312    90464   1.54
nsTextFragment            360    90106   1.54
JS-unclassified          2110    87392   1.49
nsStaticCaseInsensitiveNameTable   2574    85184   1.45
orkin-unclassified         50    82694   1.41
X-unclassified           3187    82483   1.41
nsCStringKey             2525    77323   1.32
JS-GC-arena                 8    73912   1.26
JS-function              2412    71840   1.23
nsXULAttribute              5    71680   1.22
AtomImpl                 1749    65758   1.12
nsXULAttributes           865    62280   1.06
xptiInterfaceInfo        1409    62232   1.06
nsXMLElement             1137    59124   1.01
RuleHash                 3782    58652   1.00
InMemoryDataSource         92    56074   0.96
nsPersistentProperties   1923    55962   0.95
sscanf                   1504    55325   0.94
xptiManifest             1874    46336   0.79
JS-slots                  818    45536   0.78
nsImageGTK                110    44008   0.75
nsXULPrototypeElement     891    42768   0.73
nsSupportsArray           582    32592   0.56
OTHER                   22918   885039  15.09
I thought we had arenas for style rules already...

  CSSDeclarationImpl       2732   109940   1.88
  nsCSSRule                1342   106488   1.82
  RuleHash                 3782    58652   1.00
Status: NEW → ASSIGNED
Priority: -- → P3
Target Milestone: --- → mozilla0.9.7
sfraser published a nice report at 
http://www.mozilla.org/performance/mallocsites20011031.html (see bug 67618 for 
more info).  I'm going to attach the part that is relevant for the style system.

The stats don't match very well.  The trace-malloc above shows 2732 
CSSDeclarationImpl while sfraser's page says that we have 859 allocations through 
NS_NewCSSDeclaration().

Here is a summary of what I'm going to attach.  It shows the object and the 
number of allocations that it and its member variables are responsible for:
    Selectors     10500
    Declarations   3800
    Rules          7000
    Other          3000
                 ------
                  24300
Blocks: 67618
The report shows a total number of memory allocation of 368000.  With 24300 
allocations, the style system represents 6.6% of the total.
Note that my data don't show allocation sites that allocate < 100 blocks, though 
I can provide that data if necessary.
The previous effort to reduce the number of allocations in the style system is 
described under bug 65266.
Blocks: 91242
No longer blocks: 91242
Target Milestone: mozilla0.9.7 → mozilla0.9.8
Target Milestone: mozilla0.9.8 → mozilla1.0
Moving to mozilla1.1. Engineers are overloaded!
Target Milestone: mozilla1.0 → mozilla1.1
Bulk moving from Moz1.1 to future-P1. I will pull from this list when scheduling
work post Mozilla1.0.
Priority: P3 → P1
Target Milestone: mozilla1.1 → Future
Keywords: mozilla1.1, perf
OS: Windows 2000 → All
Hardware: PC → All
Assigning pierre's remaining Style System-related bugs to myself.
Assignee: pierre → dbaron
Status: ASSIGNED → NEW
Priority: P1 → P2
Keywords: footprint
Keywords: footprint
Component: Layout → Style System
QA Contact: petersen → ian
Does someone have new data now that bug 125246 has been fixed?
Depends on: 42953
Depends on: 311566
Blocks: 91242
Assignee: dbaron → nobody
QA Contact: ian → style-system
This could reduce memory fragmentation.
Whiteboard: [MemShrink]
This data is so out of date it's irrelevant.  If anyone finds problems with style allocations we can file a new bug.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: