Difference between revisions of "Calc/Performance/The Ou case"
From Apache OpenOffice Wiki
< Calc | Performance
(use SUBPAGENAME in category sort key for reusability) |
|||
Line 1: | Line 1: | ||
+ | {{Performance}} | ||
{{DISPLAYTITLE:The Ou Case}} | {{DISPLAYTITLE:The Ou Case}} | ||
Revision as of 16:23, 12 March 2009
|
---|
Quick Navigation Team Communication Activities |
About this template |
Loading a large plain data file takes very long.
References:
Findings:
- source/filter/xml/xmlsubti.cxx
- 38% of time spent in ScMyTables::NewColumn() because of replicated use of aTableVec[nTableCount - 1] (vector::operator[])
Note: percentage may be off due to compilation without optimization to obtain exact line numbers that may result in STLport's vector methods being differently compiled.- proposed fix: should obtain the pointer once instead.
- Similar for other places where aTableVec[xxx] is used.
- 38% of time spent in ScMyTables::NewColumn() because of replicated use of aTableVec[nTableCount - 1] (vector::operator[])
- TODO: Check all ScMyTables::.*() and ScMyTableData::.*()
- Especially for 63342857 calls to AddColumn() and NewColumn() that result in 1168654944 calls to operator[] ...
- 63081776 calls to AddColumn() originate from ScXMLTableRowCellContext::EndElement()
- Those are highly suspicious and seem to indicate that too many temporary elements are created for empty columns/cells (needs verification).