[Libreoffice] ICU bloat ...

Norbert Thiebaud nthiebaud at gmail.com
Fri Jan 14 05:28:21 PST 2011


I think that cannibalizing existing and actively maintained libraries
will on the long term come back and bite you.
The mozilla ugliness is a good example of that.

Norbert

On Fri, Jan 14, 2011 at 6:27 AM, Michael Meeks <michael.meeks at novell.com> wrote:
> Hi there,
>
> On Fri, 2011-01-07 at 12:22 -0600, Norbert Thiebaud wrote:
>> >        Which makes me wonder: do we really need everything that is in that
>> > beast ? pmap seems to suggest we use 84K out of the 13Mb on Linux:
>>
>> Michael: icudata contains, among other things all the supported
>> utf16<->other-codepage convertion. If your locale is utf8 or iso8859-1/15
>> (which is most likely in your case) then sure you just need one or two
>> of these conversion table... if any at all (some convertion like
>> utf8<->utf16 are algorithmic)
>
>        Sure. We have a patch for sal:
>
> http://cgit.freedesktop.org/libreoffice/build/tree/patches/dev300/size-sal-textenc.diff
>
>        sadly still not merged, since it needs re-testing on win32 - that chops
> a megabyte of this off of sal (exactly the same text encoding conversion
> tables).
>
>> libicudata also contains stuff about collation and locales...
>
>        Right - but it also seems that some (much?) of this data is not
> actually used :-) AFAICS we don't use the charset conversion data at
> all, preferring the sal stuff. There are whole fields of API that are
> simply not touched from ICU:
>
>        'ucnv_' (char set conversion !?)
>        'ures_'
>        'unorm_'
>        'utrans_'
>        'u_shapeArabic'
>
>        So - I suspect we could hack some big chunks of code, and data out of
> this: the data is the biggest evil size-wise from a distribution
> perspective I suspect: 5.5Mb compressed of our win32 download is data we
> don't use [ one of the bigger lumps of pointlessness there ].
>
>> either way libicudata is big, but there is not that much redundancy in
>> it. it just covert and insanely large number of code page (
>
>        sure sure :-) and we don't need that AFAICS, since we don't use the
> relevant APIs; and our internal ICU does not have to be a generic useful
> resource for abstract programs (particularly on Win32).
>
>        So I added an easy hack here:
>
> http://wiki.documentfoundation.org/Development/Easy_Hacks#de-bloat_internal_ICU
>
>        Thanks,
>
>                Michael.
>
> --
>  michael.meeks at novell.com  <><, Pseudo Engineer, itinerant idiot
>
>
>


More information about the LibreOffice mailing list