The container is organized for functionality, not performance, with
service lookups because lookups normally occur once.

Suggestion: create a "lookup" service that has getters for all the
other keys services you want. Inject those other services into its
implementation. Obtain it from the Registry. Store it in a global and
use that for non-service code to gain access to IoC services.

On Mon, Nov 9, 2009 at 2:15 AM, Adriaan Joubert <adriaan...@gmail.com> wrote:
> Hi,
>
> we hit some performance issues using the tapestry IoC. The problem is
> that we have legacy apps where we do need to do a lot of registry
> look-ups - takes a while to rewrite everything to have services
> injected via constructors everywhere. In our particular case we have a
> few hundred services and in one instance a static call was replaced
> with a registry look-up and a call on the service. It turns out that a
> registry look-up is rather slower than we expected.
>
> A colleague has looked into this and says:
>
> "We are having some performance issues with the getService() method in
> the 'RegistryImpl' class. Looking at the source code it seems that there
> are some linear list searches going on in there that could perhaps be
> replaced by more efficient map lookups, if possible."
>
> Has anybody looked into the performance of the IoC?
>
> Thanks,
>
> Adriaan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to