Summary: Hyphenation of languages with country code does
                    unnecessary IO / innefficient caching.
           Product: Fop
           Version: all
          Platform: PC
        OS/Version: Windows Vista
            Status: NEW
          Severity: normal
          Priority: P2
         Component: general

Created an attachment (id=24929)
 --> (
hyphenation tree cache patch

Hi everyone.

When profiling the startup time of our application, I discovered that FOP's
hyphenation loads and stores identical instances of an hyphenation tree
multiple times.

This occurs once for each country code given if no specific dictionary for the
given country is available.

Imagine an application hyphenating text from the following languages:

de, de-DE, de-AT, de-CH and de-LU.

Then the current hyphenation code would load five instances of the same german
hyphenation tree from disk/network into memory.

Now I am not sure what the best solution is.
If the hyphenation trees need to be modified one might keep five instances in
memory per language code but should do a clone from a only once loaded
reference hyphenation tree.

However if the hyphenation tree are supposed to remain static it should suffice
to load them only once and store the same instance multiple times in the
hyphenation cache.

Since FOP already uses a static hyphenation tree cache I think the second
option is ok and therefore created a patch implementing this.

See attachment.

Any comments, suggestions, things I got wrong?

Configure bugmail:
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to