You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openoffice.apache.org by bu...@apache.org on 2012/09/05 16:34:26 UTC

[Bug 120824] New: Save performance: Improve StyleSheet mapping

https://issues.apache.org/ooo/show_bug.cgi?id=120824

          Priority: P3
            Bug ID: 120824
          Assignee: ooo-issues@incubator.apache.org
           Summary: Save performance: Improve StyleSheet mapping
          Severity: normal
        Issue Type: DEFECT
    Classification: Application
                OS: All
          Reporter: Armin.Le.Grand@me.com
          Hardware: All
            Status: CONFIRMED
           Version: AOO350-dev
         Component: save-export
           Product: spreadsheet

ALG: Currently the calc xls export iterates over the existing styles every
time; this can be optimized.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120824] Load/Save performance: Improve StyleSheet mapping, reduce broadcasting on load

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120824

Armin Le Grand <Ar...@me.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ACCEPTED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #9 from Armin Le Grand <Ar...@me.com> ---
ALG: Okay, done.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120824] Save performance: Improve StyleSheet mapping

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120824

Armin Le Grand <Ar...@me.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|CONFIRMED                   |ACCEPTED

--- Comment #1 from Armin Le Grand <Ar...@me.com> ---
ALG: In XclExpXFBuffer the styles for export are held in a XclExpXFList (called
maXFList). The method FindXF is used to checl if a style already exists. To do
so, it iterates liinear over all existing styles. This is done often during
export.
To speed this up it would be better to hash this with the ItemSet as key and an
index in the list as value. This can be on demand (extending as the list
extends). Checking if/how this can be encapsulated.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120824] Save performance: Improve StyleSheet mapping

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120824

--- Comment #4 from Armin Le Grand <Ar...@me.com> ---
ALG: Checked the code again and secured the XclExpXFList::ReplaceRecord calls;
these need to reset the multimap buffer since the key value might change.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120824] Load/Save performance: Improve StyleSheet mapping, reduce broadcasting on load

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120824

--- Comment #7 from SVN Robot <sv...@dev.null.org> ---
"alg" committed SVN revision 1381548 into trunk:
#120824# improve load/sve performance for spreadsheet

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120824] Load/Save performance: Improve StyleSheet mapping, reduce broadcasting on load

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120824

Armin Le Grand <Ar...@me.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |AOO 4.0

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120824] Load/Save performance: Improve StyleSheet mapping, reduce broadcasting on load

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120824

Armin Le Grand <Ar...@me.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Save performance: Improve   |Load/Save performance:
                   |StyleSheet mapping          |Improve StyleSheet mapping,
                   |                            |reduce broadcasting on load

--- Comment #6 from Armin Le Grand <Ar...@me.com> ---
ALG: Checked stuff from comment3 (load any *.ods from trunk/test). Works as
expected. Changing title, it's enhancements for import (comment 1,2) and export
(comment 3).

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120824] Save performance: Improve StyleSheet mapping

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120824

--- Comment #2 from Armin Le Grand <Ar...@me.com> ---
ALG: Extended all constructors of XclExpXF, member initialisations were
missing.
Added maXclExpXFMap as std::multimap for < const SfxItemSet*, XclExpXF* > to
class XclExpXFBuffer (where maXFList resides, too).
Adapted both FindXF to use the multimap for faster access. Both will on demand
extend the multimap to newly added list entries.

Works as expected, tested with *.xls files in the new trunk/test path. Load
*.xls, save as *.xls (somewhere else), reload. The 272k example
sc_complex_13sh_4kcell.xls went from 12 to 8 seconds savetime (average).

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120824] Save performance: Improve StyleSheet mapping

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120824

--- Comment #5 from Armin Le Grand <Ar...@me.com> ---
ALG: Doing some more tests...

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120824] Save performance: Improve StyleSheet mapping

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120824

--- Comment #3 from Armin Le Grand <Ar...@me.com> ---
ALG: Another bottleneck is ScStyleObj::SetOnePropertyValue because for every
single property change a StyleSheetChange update is triggered. Since this
update is independent from the property it can be optimized to do that after a
range of properties is set.
Added ScStyleObj::SetOnePropertyValueWithoutUpdate, made
ScStyleObj::SetOnePropertyValue use it and call StyleSheetChangedUpdate() (also
added and extracted from ScStyleObj::SetOnePropertyValue. Using in
ScStyleObj::setPropertyValues to set all props in a loop and call update only
once.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 120824] Load/Save performance: Improve StyleSheet mapping, reduce broadcasting on load

Posted by bu...@apache.org.
https://issues.apache.org/ooo/show_bug.cgi?id=120824

--- Comment #8 from Armin Le Grand <Ar...@me.com> ---
ALG: Okay, comitted, done

-- 
You are receiving this mail because:
You are the assignee for the bug.