Calc/Performance/Planning

From Apache OpenOffice Wiki
< Calc‎ | Performance
Revision as of 11:05, 16 February 2009 by Ka (Talk | contribs)

Jump to: navigation, search

Planning page for Calc performance improvements.

What Solves / Benefit
Create test case documents for specific problems. Reliable measurement for profiling.
Profile loading and saving documents. Have comparable numbers for before/after scenarios.
Optimize some string handling in compiler and number parser. Pre detection of simple operators, separators, parentheses, ... Less toUpper() calls, temporary String instances, ...
Break up the document-wide area broadcaster structure into per-sheet containers. Less comparisons while inserting ranges to listen to because of the unique set requirement.
Less elements to search when broadcasting a change.
After load, compile only formulas and their dependents needed in the active sheet. Postpone compilation of other formulas to the point when needed, respectively compile in background. Less waiting time after document load, faster view of last active sheet.
One stream per sheet in ODF, incompatible file format change. Prerequisite for on-demand loading of sheets and storing only changed sheets.
Load non-active sheets on demand. Less data to load initially, faster view of the last active sheet.
Save only changed sheets. Possibly only one sheet out of many must be saved again.
Test whether saving data-only changes can be done without having to recreate the entire storage, replacing only the data changed in stream. Avoid the overhead of document storage.
Implement shared formulas. Less memory consumption for contiguous ranges of recurring similar formulas.
Store shared formulas in ODF, possibly incompatible file format change. Less compilation time for recurring formulas when loading.
Personal tools