Hi there,
We are using Castle Windsor for all our projects with great success, in
almost all aspects. However, we have one slight issue with it: performance.
Sometimes, when we are deserializing a big result from one of our REST
services for example, we see this as a noticeable lag in the
responsiveness. I did some quick testing and there's clearly something
fishy here. This code:
public void PerformanceTestTransientViewModel()
{
for (int i = 0; i < 25000; i++)
{
//viewModelFactory.CreateViewModel<TransientViewModel>();
container.ResolveType<TransientViewModel>();
}
}
..takes more than 50 seconds to execute. (container is an extremely simple
wrapper on top of Windsor, because we don't expose Windsor to our
applications directly.)
We are using the typed factory facility (ViewModelFactory is generated
using this approach), and I suspected the problem was with the typed
factory stuff. But, as you see, I tried it with plain container.ResolveType
which is in essence windsorContainer.Resolve<TFrom>() being called, and it
was equally slow.
Any hints? What we've done sometimes is skipped the proxying/interception
in these cases, and instantiated the classes automatically (without even
registering them in the IoC) which is a lot faster, but I'd rather not have
to that on a massive scale.
Many thanks in advance for your ideas! I can show you more about how
exactly we are setting up the Windsor Container if you like, but it's
fairly complex (since we have our own application framework running on top
of Windsor), so it's probably best to look at the specific parts that are
relevant.
Best regards,
Per
--
You received this message because you are subscribed to the Google Groups
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en.