calc: faster sums ...

Michael Meeks michael.meeks at collabora.com
Thu Oct 29 07:21:19 PDT 2015


Hi Kohei,

	I'd love some input (if you have a minute) on the attached. The
punch-line is, that if we want to do really fast arithmetic, we start to
need to do some odd things; while I suspect that this piece of unrolling
can be done with the iterator - the next step I'm poking at (SSE3
assembler ;-) is not going to like that.

	The win from this on a sum heavy sheet calculation is from 14.4s
seconds to recalculate to 9s (actually testing using the
'puncture_mdds_encap' approach ;-) - a 35%+ speedup.

	I guess, what I'd most like is a:

	'const double *getDoubles(size_t nAtOffset);

	Or somesuch =) or, failing that - a chunked double iterator that would
give a pointer and size (reflecting the underlying chunks but giving
some freedom there).

	Thoughts much appreciated =)

	ATB,

		Michael.

-- 
 michael.meeks at collabora.com  <><, Pseudo Engineer, itinerant idiot
-------------- next part --------------
A non-text attachment was scrubbed...
Name: faster-sum.diff
Type: text/x-patch
Size: 4226 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20151029/e8fdfb1f/attachment.bin>


More information about the LibreOffice mailing list