[Libreoffice] [Proof-of-concept] Drastically speedup the offapi (and oovbaapi) build
Jan Holesovsky
kendy at suse.cz
Thu Sep 1 23:25:48 PDT 2011
Hi Matúš,
You rock, thank you so much for that! :-)
On 2011-09-02 at 03:45 +0200, Matúš Kukan wrote:
> > With the attached patch, the offapi/UnoApi_offapi.mk (and oovbaapi) has
> > to change to something like the following; this is of course only part
> > of that, the other rules have to be adapted the same way, but that
> > should be ~trivial. Second part of the problem is that idlc have to be
> > patched to bail out with != 0 exit value, according to the comments it
> > is not the case right now.
> >
> I was not working on the second part yet and I do not intend to do so.
> Could someone else do it?
So I double-checked, and actually I have no idea why the comment about
idlc not returning != 0 on error is in the makefile. idlc returns the
number of files that failed during compilation as the exit code, so all
is fine - unless we reach more than 255 errors; but... ;-)
> Bjoern, could you please approve patches?
> And how to push them ? First the Kendy's one and then change it?
Oh - please just push your work, my thing was just a proof-of-concept.
> I have attached just one patch for better reviewing but created two.
> (for UnoApiTarget.mk)
>
> Now results.. in offapi:
> before:
> make -srj 4 => 75s
> make -sr => 206s
> after:
> make -srj 4 => 71s
> make -sr => 183s
>
> It's little more interesting for oovbaapi: (make -sr) 49s -> 34s
> But that does not take much.
>
> May be for Windows it will be bigger difference but also this is something.
Yes, I suppose on Windows it will be much more; as I said, in my case it
takes more than 2 hours, 10% of the entire compilation time.
> Or is it possible to process even more files at once? Also from
> different directories?
That would be a nice follow-up work should somebody be interested - the
directory structure of the output is the same as of the input, so easy
to do so.
Thank you again,
Kendy
More information about the LibreOffice
mailing list