Hi all guys,
I'd like to improve a little the resources creation into C3 SAX pipelines
components, saving consumed memory and components initialization time,
reusing already created resources.
I mean, instantiating the same kind of XSLTTransformer (or the
SchemaProcessorTransformer) twice, in different parts of the application,
with the same resource:

class Service1 {

    XSLTTransformer xsltTransformer =
new XSLTTransformer(this.getClass().getResource("myStyle.xsl"));
    ...
}

class Service2 {
    XSLTTransformer xsltTransformer =
new XSLTTransformer(this.getClass().getResource("myStyle.xsl"));
    ...
}

causes the "myStyle.xsl" resource has to be load twice, consuming memory. As
proposed time ago - also mentioned by Sylvain - I'd like to introduce an
InMemoryLRU cache that stores and maintains already loaded resources.

What do you think about it? It's a simple improvement I can realize quickly
and that's not hard to integrate in the existing code, obviously any kind of
help and suggestion is more than welcome! :)
Best regards,
Simo

http://people.apache.org/~simonetripodi/

Reply via email to