ciruclar dependencies

Michael Stahl mstahl at redhat.com
Tue May 29 04:33:05 PDT 2012


On 29/05/12 13:17, Tor Lillqvist wrote:
>> which is completely unnecessary if you create a
>> new document, or only use ODF
> 
> On the other hand, if you never use ODF, you still have to load the code for it?

that's an unfortunate side effect of how the ODF filter is implemented
in Writer: mostly it accesses the document via UNO API, but some parts
(tables especially) are intimately tied up with the Writer core, and so
there are Writer specific sub-classes of stuff from xmloff in
sw/source/filter/xml, and so sw is linked against xmloff.

no, wait, that is actually a side issue, of course the ODF filter could
be split out into a separate library, but i guess since ODF is the
default file format it makes less sense to do that than other formats; i
don't have a strong opinion either way in this case.

i guess it could make sense to split out some of the other filters that
are still linked into libsw, but i wonder if that in practice means only
HTML nowadays (the ASCII one has surprising users in core).

>> the fastest way to start is still to load
>> only the code that is necessary to start.
> 
> Isn't there something called demand paging that takes care of that?

it is supposed to do this, but falls short when it comes to startup
performance on rotating storage, which is why we have various platform
specific hacks to do linear reads of all libraries required at startup
in order to hide the seek latencies incurred by demand paging.

> Why stop at the arbitrary division of libraries as they happen to
> exist now; I am sure one could as well come up with dozens of other
> classes of functionality that some group of users don't need when
> starting up?

certainly, the distribution of code across libraries is to a large
extent an accumulation of historical accidents, so i guess many
improvements are possible there.



More information about the LibreOffice mailing list