[GSOC] Fix for performance loss due to recalc of volatile cells

Eike Rathke erack at redhat.com
Fri Jul 13 09:14:16 PDT 2012


Hi Daniel,

On Thursday, 2012-07-12 03:46:02 -0500, Daniel Bankston wrote:

> My changes in the attached diff prevent this from happening, which
> gives us back our performance.  Is this approach ok?

I first had the gut feeling that due to the situation commented there

>          // Setting the new token actually forces an empty result at this top
>          // left cell, so have that recalculated.

that would leave us with a state of the top left cell of the matrix
being undefined or its value not really determined. However, Markus said
you had tested that and also a specific case I asked him to check (enter
a formula after the document was loaded that refers the top left cell)
produced the correct result. Which actually made me wonder ;-) knowing
the code of ScFormulaResutl::SetToken() in this case of a matrix.

So, after import, is a complete matrix already set as a result when
SetMatColsRows() is called? And if so, how? Or are only individual
results set at the cells? In which case setting the formula cell's
matrix dimension indeed should overwrite the result of the top left cell
until that is interpreted.

I guess to get a complete grasp of this I'd have to step through such
case, but I don't have a build of that branch now.

  Eike

-- 
LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3  9E96 2F1A D073 293C 05FD
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20120713/c5264201/attachment.pgp>


More information about the LibreOffice mailing list