[ooo-build-commit] patches/dev300

Kohei Yoshida kohei at kemper.freedesktop.org
Wed Nov 25 11:22:24 PST 2009


 patches/dev300/apply                               |    3 +
 patches/dev300/calc-perf-filtering-with-notes.diff |   36 +++++++++++++++++++++
 2 files changed, 39 insertions(+)

New commits:
commit 3960420df46ee34b5ad8ed9b188e411cdd9a2df7
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Wed Nov 25 14:13:02 2009 -0500

    Speed up filtering performance in presence of cell notes.
    
    * patches/dev300/apply:
    * patches/dev300/calc-perf-filtering-with-notes.diff: set draw
      page size *only once* after the entire filtering operation is
      complete, instead of each time a single row is filtered.  This
      speeds up filtering speed considerably depending on how many rows
      get filtered and how many cell notes the sheet has.  With the
      test document I had the filtering time was reduced from 45 seconds
      to 0.66 seconds. (n#556927)

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 082550d..1553b83 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -853,6 +853,9 @@ calc-xls-import-sheet-protection-fix.diff, n#542024, kohei
 # TAB key to auto-complete word and move the cell cursor.
 calc-auto-tab-complete.diff, i#18748, muthusuba/kohei
 
+# Speed up filtering performance with notes.
+calc-perf-filtering-with-notes.diff, n#556927, kohei
+
 # Support PHONETIC function to display asian phonetic guide.
 # LATER: I'll take care of this later.  --kohei
 # calc-formula-asian-phonetic.diff, i#80764, i#80765, i#80766, kohei
diff --git a/patches/dev300/calc-perf-filtering-with-notes.diff b/patches/dev300/calc-perf-filtering-with-notes.diff
new file mode 100644
index 0000000..88b3aa7
--- /dev/null
+++ b/patches/dev300/calc-perf-filtering-with-notes.diff
@@ -0,0 +1,36 @@
+diff --git sc/source/core/data/table2.cxx sc/source/core/data/table2.cxx
+index c3ee408..86e9e1d 100644
+--- sc/source/core/data/table2.cxx
++++ sc/source/core/data/table2.cxx
+@@ -2500,8 +2500,7 @@ void ScTable::DBShowRow(SCROW nRow, BOOL bShow)
+ void ScTable::DBShowRows(SCROW nRow1, SCROW nRow2, BOOL bShow)
+ {
+     SCROW nStartRow = nRow1;
+-    nRecalcLvl++;
+     InitializeNoteCaptions();
+     while (nStartRow <= nRow2)
+     {
+         SCROW nEndRow = -1;
+@@ -2540,9 +2539,6 @@ void ScTable::DBShowRows(SCROW nRow1, SCROW nRow2, BOOL bShow)
+     //	to be done here.
+     if (pOutlineTable)
+         UpdateOutlineRow( nRow1, nRow2, bShow );
+-
+-    if( !--nRecalcLvl )
+-        SetDrawPageSize();
+ }
+ 
+ 
+diff --git sc/source/core/data/table3.cxx sc/source/core/data/table3.cxx
+index 6da3d50..20b4f49 100644
+--- sc/source/core/data/table3.cxx
++++ sc/source/core/data/table3.cxx
+@@ -1648,6 +1648,8 @@ SCSIZE ScTable::Query(ScQueryParam& rParamOrg, BOOL bKeepSub)
+ 
+     delete[] pSpecial;
+ 
++    SetDrawPageSize();
++
+     return nCount;
+ }
+ 


More information about the ooo-build-commit mailing list