Apache OpenOffice (AOO) Bugzilla – Issue 81332
DeleteArea unnecessarily broadcasts multiple changes to identical listeners already notified.
Last modified: 2013-08-07 15:14:13 UTC
Deleting a larger cell range that is referenced by many formulas takes a long time. This scenario is sometimes used in spreadsheet documents using VLOOKUP on a range linked to an external document when the linked data is updated, the range then is cleared first.
Created attachment 48018 [details] test case needing 12s on my machine, see instructions inside
Started.
In cws calc44: sc/inc/document.hxx 1.102.38.1 sc/source/core/data/bcaslot.cxx 1.8.70.1 sc/source/core/data/document.cxx 1.79.62.1 sc/source/core/data/table2.cxx 1.37.162.1 sc/source/core/inc/bcaslot.hxx 1.5.70.1 Time needed now ~0.5s, an improvement by at least factor 23. On larger ranges and with more formulas involved it will be even more. In a customer's document time needed was brought down from 15 minutes to 7 seconds, which is a performance gain by factor 127.
Funny I was just looking into the same issue. :-)
Reassigning to QA for verification.
found fixed on cws calc44 using Linux, Solaris and Windows
found integrated on master m239 using Linux, Solaris and Windows build