From Apache OpenOffice Wiki
|About this template
|Solves / Benefit
|Status / Details
|Create test case documents for specific problems.
|Reliable measurement for profiling.
|InProgress, ongoing effort
|Profile loading and saving documents.
|Have comparable numbers for before/after scenarios.
|Implement incremental saving by writing just changed content if possible.
|Avoid rewriting the entire document if just some cell data was changed.
|Optimize some string handling in compiler and number parser. Pre detection of simple operators, separators, parentheses, ...
|Less toUpper() calls, temporary String instances, ...
| Refactor area broadcasters to not use a single ::std::set per slot if possible.
Break up the document-wide area broadcaster structure into per-sheet containers.
| Because of the unique set requirement and the underlying tree implementation, inserting area broadcasters to large sets takes a lot of time.
Less comparisons while inserting ranges to listen to. 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.