Details
-
Bug
-
Status: Open
-
Resolution: Unresolved
-
2.5
-
None
-
None
-
Operating System: Windows Vista
Platform: PC
-
48684
Description
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?