You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by "Gonzalo Vasquez (JIRA)" <ji...@apache.org> on 2013/11/15 16:49:21 UTC

[jira] [Created] (FOP-2314) Caching xmlParserClassName in org.apache.fop.svg.SimpleSVGUserAgent

Gonzalo Vasquez created FOP-2314:
------------------------------------

             Summary: Caching xmlParserClassName in org.apache.fop.svg.SimpleSVGUserAgent
                 Key: FOP-2314
                 URL: https://issues.apache.org/jira/browse/FOP-2314
             Project: Fop
          Issue Type: Improvement
          Components: svg
    Affects Versions: trunk
         Environment: Tested on Mac OSX 10.9, Java SE 7 (1.7.0_04)
            Reporter: Gonzalo Vasquez
            Priority: Minor


After having profile 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?



--
This message was sent by Atlassian JIRA
(v6.1#6144)