excalibur-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylv...@apache.org>
Subject Optimizing SourceResolver.release()
Date Thu, 28 Jul 2005 13:01:16 GMT
Hi all,

I'd like to propose a small change to the Source contract so that 
SourceResolver.release() is far more efficient.

Currently, releasing a Source requires to lookup the SourceFactory in 
the selector and calling release(Source) on that class. Now looking 
around, I found only _one_ implementation of SourceFactory that 
effectively does something useful in it's release() method, which is 
Cocoon's SitemapSourceFactory.

All other implementations do _nothing_, leading to a lot of useless 
lookups. Considering how much source-intensive Cocoon is, this may be 
significant.

To avoid this, I'd like to propose a small change to the 
SourceResolver.release() contract: if the Source implements Disposable, 
then it's dispose() method is called, and otherwise the factory is 
looked up as of today.

We then have to add empty dispose() methods to all source 
implementations to benefit from the performance improvement.

How does that sound?

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://people.apache.org/~sylvain     http://www.anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org


Mime
View raw message