Difference between revisions of "Calc/Performance/Planning"
From Apache OpenOffice Wiki
< Calc | Performance
(point to DPLs) |
(status / details and incremental saving) |
||
Line 3: | Line 3: | ||
{| class="prettytable" | {| class="prettytable" | ||
|- | |- | ||
− | ! What || Solves / Benefit | + | ! What || Solves / Benefit || Status / Details |
|- | |- | ||
− | | Create test case documents for specific problems. || Reliable measurement for profiling. | + | | Create test case documents for specific problems. || Reliable measurement for profiling. || InProgress |
|- | |- | ||
− | | 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/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. <br> 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. || |
|- | |- | ||
− | | Store shared formulas in ODF, possibly incompatible file format change. || Less compilation time for recurring formulas when loading. | + | | 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. || | ||
[[Category:Calc|! To-Dos/Performance/Planning]] | [[Category:Calc|! To-Dos/Performance/Planning]] |
Revision as of 11:17, 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. |