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:51:22 UTC

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

     [ https://issues.apache.org/jira/browse/FOP-2314?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gonzalo Vasquez updated FOP-2314:
---------------------------------

    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?

  was:
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?


> 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
>              Labels: performance
>
> 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?



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