[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