Difference between revisions of "Calc/Performance/misc"
(Category:Calc Category:To-Do for DPL Calc/To-Dos) |
(use SUBPAGENAME in category sort key for reusability) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | 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 [http://www.openoffice.org/issues/show_bug.cgi?id=41164 document]. | 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 [http://www.openoffice.org/issues/show_bug.cgi?id=41164 document]. | ||
Line 71: | Line 7: | ||
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. | 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. | 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 | + | 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. | Similarly the process of constructing a Data Pilot cache, and (subsequently) collating that data is one that is susceptible to threading. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[Category:Calc]] | + | [[Category:Calc|Performance/{{SUBPAGENAME}}]] |
[[Category:To-Do]] | [[Category:To-Do]] | ||
− | [[Category: | + | [[Category:Performance]] |
Latest revision as of 15:24, 6 March 2009
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.