[PUSHED-3-5] improve startup performance ...
Stephan Bergmann
sbergman at redhat.com
Mon Apr 16 01:50:42 PDT 2012
On 04/14/2012 01:38 AM, Michael Meeks wrote:
> On Fri, 2012-04-13 at 15:03 +0200, Michael Meeks wrote:
>> The basic idea is to push the iteration over directories down into the
>> stoc/ code instead of having it in the cppuhelper code. That lets us
>> re-use the same representation avoiding the nesting[1]. I guess it is
>> the moral equivalent of concatenating the .rdb files in a given
>> directory.
>
> I had to add some sniffing code and retain the old model for loading
> old-style rdb files to make the oovbaapi.rdb load correctly.
>
> After that it seems to pass 'make check' as well as 'make check' in
> general (ie. randomly failing on a11y tests ;-).
>
> It makes me suspect that the nesting nastiness has a real impact on
> type lookups too that'd be great to fix later.
>
> I'd love to get it into libreoffice-3-5 for 3.5.3 - reviews much
> appreciated.
Pushed to -3-5 now as
<http://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-3-5&id=4baeaf5484fb23f8265ab693bb7d2a36fbfef9c5>
(needed some trivial adaptation to -3-5, and I had not been aware you
had already pushed it to master, so it lacks a cherry-picked-from in the
comment).
* I would probably also have moved the <...>* syntax down into stoc;
this would have made the case detection in SimpleRegistry::open more
straightforward, and would have lead to a less broken
SimpleRegistry::getURL. (Also, it is not clear to me what your "FIXME:
busts the 'create' mode ..." wants to imply, as creating old-style
binary rdbs should continue to work just fine, right?)
* err_throw is gone to from only one place, so could be simplified. And
if it were gone to from multiple places, I would consider that
unfortunate, as, for debugging purposes, a throw expression carries
additional information via its textual location in the source, which is
lost if multiple error locations go to a single throw statement.
Anyway, I did not clean up any further as I plan to broadly modify this
area, anyway (reducing the "nesting nonsense" to zero, independently for
services and types).
Stephan
More information about the LibreOffice
mailing list