[REVIEW 3-5] Custom Shapes compile speedup ... #2

Michael Meeks michael.meeks at suse.com
Fri Mar 2 14:21:49 PST 2012

On Fri, 2012-03-02 at 20:46 +0100, Radek Doulik wrote:
> On Fri, 2012-03-02 at 19:51 +0100, Radek Doulik wrote:
> > thanks. The patch looks good to me. Pushed.

	I just pushed a lot more of this stuff to master, basically out-lining
all those (exception throwing => hard-to-optimise) object constructors
into helper functions:

	This starts to tackle the size issue:

-rwxr-xr-x 1 michael users 20132128 Mar  2 20:18 /tmp/libooxlo.so
-rwxr-xr-x 1 michael users 17906624 Mar  2 21:58 /tmp/libooxlo.so

	ie. an overall 10% / ~2Mb of (stripped) size saving at -O0 - which is
about 50% of the size of the customshapepreset* code (judging by the
stripped .o file sizes).

	This makes me wonder what other rabid wasteage there is in oox -
particularly around XSLT code generation (is that going on in here?),
20Mb is really not a small thing, at-all.

	I managed to get my compile time down too:

Before #2:

	Which looks like it's finally 'fast enough'.

	Of course, I havn't done any run-time profiling of document load, I
don't think anything I've done should have any noticable negative impact
there, indeed hopefully quite some positive impact - profiling would be
the way to go there clearly.

	Anyhow - I'll butt out at this point, IMHO this is 'fixed'.

	It'd be nice if you could do your more advanced correctness checks; eg.
I assumed that a EnhancedCustomShapeParameterPair only ever has two
sal_Int32 Value members - pragmatically that appears to be so, but ...
anyhow we assert fail if not during the generation (I hope).

	I'm not sure if we want all that in -3-5 but if you're happy we could
do that.



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

More information about the LibreOffice mailing list