Hello again,

I have made some tests with this simple decorator class :

public class AssetSourceCacheDecorator implements AssetSource {

    private final Map<MultiKey, Asset> cache = 
CollectionFactory.newConcurrentMap();

    private final AssetSource delegate;

    public AssetSourceCacheDecorator(AssetSource delegate) {
                this.delegate = delegate;
    }

    public Asset getAsset(Resource baseResource, String path, Locale locale) {

                MultiKey key = new MultiKey(path, locale);
                if (cache.get(key) == null) {
                    Asset asset = delegate.getAsset(baseResource, path, locale);
                    cache.put(key, asset);
                    return asset;
                }

                return cache.get(key);
    }

    public Asset getClasspathAsset(String path) {
                return this.getClasspathAsset(path, null);
    }

    public Asset getClasspathAsset(String path, Locale locale) {
                return this.getAsset(null, path, locale);
    }

}

My application is simple, it's made of :

- A simple layout component that display a localized banner
- A Component that holds a form with two properties (login and password)

I use JMeter to access to this page with 50 simultaneous threads, in the same 
test conditions, i have a CPU running around 40% with the decorator, without 
the decorator it gets over 55% of activity.

Christophe.



________________________________

Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage 
exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret 
professionnel. Si vous recevez ce message par erreur, merci d'en avertir 
imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant 
?tre assur?e sur Internet, la responsabilit? du groupe Atos Origin ne pourra 
?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts 
soient faits pour maintenir cette transmission exempte de tout virus, 
l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne 
saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.

This e-mail and the documents attached are confidential and intended solely for 
the addressee; it may also be privileged. If you receive this e-mail in error, 
please notify the sender immediately and destroy it. As its integrity cannot be 
secured on the Internet, the Atos Origin group liability cannot be triggered 
for the message content. Although the sender endeavours to maintain a computer 
virus-free network, the sender does not warrant that this transmission is 
virus-free and will not be liable for any damages resulting from any virus 
transmitted.

Reply via email to