[libreoffice-dev] - questions about calc extension

Rai, Neeraj neeraj.rai at citi.com
Thu Jan 10 10:59:44 PST 2013


Hi Kohei,

Using unlockController/lock brought down the time from 12sec to 3sec. Using DataArray brought it down to 14ms!
 Thanks for the tips. Great thing about starting with bad code is that I get to feel happy when it improves :-)

Hi Michael,

Who would have thought it was a script :-) Maybe 0 bytes callgrind should have given me a hint.
I am running callgrind now. Although, I don't need to based on above numbers, I am sure I'll write the next code as badly and will need it soon.
I never said in the email that I was running the wrapper but you figured it out anyway.
Thanks for catching it.

You guys are great.
Neeraj

-----Original Message-----
From: Michael Meeks [mailto:michael.meeks at suse.com]
Sent: Thursday, January 10, 2013 11:34 AM
To: Rai, Neeraj [ICG-MKTS]
Cc: 'libreoffice at lists.freedesktop.org'; Kohei Yoshida
Subject: Re: [libreoffice-dev] - questions about calc extension


> > What's your hunch about how long it should take to update 60K cells with {getCellByPosition(ii,jj) and setValue() } ?

        It should be ~instant - sub-second anyhow; it's an analog of loading
values from ODS. Kohei's suggestions are great:

> On Thu, 2013-01-10 at 10:59 -0500, Kohei Yoshida wrote:
> 2) Try lockControllers() and unlockControllers() to disable/enable
> repainting while updating cell values.  The example of these methods
> should be in my xcalc.cxx file I referenced earlier.

        You'd need to run callgrind like this:

export OOO_DISABLE_RECOVERY=1
valgrind --tool=callgrind --simulate-cache=yes --dump-instr=yes ./soffice.bin

        ie. on the soffice.bin not the wrapper script ;-)

        HTH,

                Michael.

--
michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list