From Apache OpenOffice Wiki
Jump to: navigation, search

Miscellaneous performance optimization opportunities that don't have an own entry under Calc/To-Dos/Performance/... yet.

In-sheet objects

With a relatively modest number of in-sheet objects (which are favorite tools of complex spreadsheet creators) things become horribly slow: 30secs to load a small file with ~no data / macros & only 240 list boxes sample document.

The sheet objects need idly creating in the svx layer; also there is a floating patch to improve VCL's control management performance - wherein some of the problems lie.

Large / complex pivot sheets

The existing Data Pilot implementation doesn't have a shared normalized form of the data. (ie. with each field reduced to an ordinal, for O(1) lookup). We should implement just such a Data Pilot cache using a representation compatible with the PivotTable cache, and populatable from that on import.

threaded calculation

Ideally to scale to hyper-threaded machines we need to crunch a workbook's dependency graph and then thread the calculation.

Similarly the process of constructing a Data Pilot cache, and (subsequently) collating that data is one that is susceptible to threading.

Personal tools