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

Caching xmlParserClassName in org.apache.fop.svg.SimpleSVGUserAgent

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Implemented
    • 2.5
    • 2.2
    • renderer/svg
    • Tested on Mac OSX 10.9, Java SE 7 (1.7.0_04)

    Description

      After having profiled an application I'm coding, and having detected hotspot methods, I've come across with a few suggestions por performance improvement which actually have worked in my environment.

      Changing the referenced method to the following code makes the small trick:

      From:
      public String getXMLParserClassName() {
      try

      { SAXParserFactory factory = SAXParserFactory.newInstance(); return factory.newSAXParser().getXMLReader().getClass().getName(); }

      catch (Exception e)

      { return null; }

      }

      To:

      private static final String xmlParserClassName;

      static {
      String result;
      try

      { SAXParserFactory factory = SAXParserFactory.newInstance(); result = factory.newSAXParser().getXMLReader().getClass().getName(); }

      catch (Exception e)

      { result = null; }

      xmlParserClassName = result;
      }

      public String getXMLParserClassName()

      { return xmlParserClassName; }

      Could this be added as a patch to the trunk please?

      Attachments

        1. sample.fo
          93 kB
          Gonzalo Vasquez
        2. SimpleSVGUserAgent.java.patch
          1 kB
          Gonzalo Vasquez

        Activity

          People

            Unassigned Unassigned
            gvasquez Gonzalo Vasquez
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: