Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-1766

Hyphenation of languages with country code does unnecessary IO / innefficient caching.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Resolution: Unresolved
    • 2.5
    • None
    • unqualified
    • 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?

      Attachments

        1. hyphenationTreeCachePatch.txt
          6 kB
          Ludger Bünger

        Activity

          People

            Unassigned Unassigned
            lbuenger Ludger Bünger
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: