Difference between revisions of "Calc/Performance/Planning"
From Apache OpenOffice Wiki
< Calc | Performance
(status / details and incremental saving) |
m (wiki link capitalization) |
||
Line 9: | Line 9: | ||
| Profile loading and saving documents. || Have comparable numbers for before/after scenarios. || | | 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. || [[Calc/Performance/ | + | | Implement incremental saving by writing just changed content if possible. || Avoid rewriting the entire document if just some cell data was changed. || [[Calc/Performance/Incremental_Saving]] |
|- | |- | ||
| Optimize some string handling in compiler and number parser. Pre detection of simple operators, separators, parentheses, ... || Less toUpper() calls, temporary String instances, ... || | | Optimize some string handling in compiler and number parser. Pre detection of simple operators, separators, parentheses, ... || Less toUpper() calls, temporary String instances, ... || |
Revision as of 11:21, 27 February 2009
Planning page for Calc performance improvements. For lists of specific To-Dos, InProgress and Done see Calc/Performance.
What | Solves / Benefit | Status / Details |
---|---|---|
Create test case documents for specific problems. | Reliable measurement for profiling. | InProgress |
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. | Calc/Performance/Incremental_Saving |
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. |