Ok, so do we abandon SVN now? On Mon, Feb 1, 2010 at 12:16 PM, Ken Egozi <[email protected]> wrote:
> actually, I've improved it further a bit. > look at my fork: > > http://github.com/kenegozi/Castle.Components.DictionaryAdapter/commits/master > <http://github.com/kenegozi/Castle.Components.DictionaryAdapter/commits/master> > > On Mon, Feb 1, 2010 at 8:12 PM, Craig Neuwirt <[email protected]> wrote: > >> Thanks Ken, >> >> I will take a look at it this week. >> >> craig >> >> On Sun, Jan 31, 2010 at 3:35 AM, Ken Egozi <[email protected]> wrote: >> >>> Hi guys. >>> >>> I came across a few performance problems when rendering views in one of >>> our applications. >>> dotTracing into the problem, I managed to identify a few problems >>> internal to AspView which I will commit to the codbase. >>> However, one of the main problems are with AspView's usage of the >>> DictionaryAdapterFactory. >>> >>> The view engine creates a typed-adapter for each view instance. We have a >>> few pages which renders hundreds of sub views, and the amount of calls to >>> factory.GetAdapter<IView>(properties) costs a significant amount of the >>> rendering time. >>> >>> Looking at GetAdapter() call, I saw that when asking for an adapter over >>> an interface that was already requested before, it is true that we do not >>> re-generate the type and the assembly, but we still do a pricey lookup for >>> the exact Type from all of the dynamically loaded assemblies. >>> I introduced a Dictionary<Type,Type>, that will cache the adapter type >>> for each interface, making consecutive calls *much* faster. >>> >>> The attached test case when (on my machine) from 16ms to 3ms. >>> >>> Attached also is the change patch. >>> >>> For all of you IDictAdapter people, please revise the patch. >>> >>> Should this change be incorporated into the DictionaryAdapter, there will >>> be some more cleanup we'll be able to do (such as the AssemblyName to >>> Assembly cache that is not needed anymore) >>> >>> >>> >>> >>> >>> >>> -- >>> Ken Egozi. >>> http://www.kenegozi.com/blog >>> http://www.delver.com >>> http://www.musicglue.com >>> http://www.castleproject.org >>> http://www.idcc.co.il - הכנס הקהילתי הראשון למפתחי דוטנט - בואו בהמוניכם >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Castle Project Development List" group. >>> To post to this group, send email to >>> [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]<castle-project-devel%[email protected]> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/castle-project-devel?hl=en. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Castle Project Development List" group. >> To post to this group, send email to >> [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<castle-project-devel%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/castle-project-devel?hl=en. >> > > > > -- > Ken Egozi. > http://www.kenegozi.com/blog > http://www.delver.com > http://www.musicglue.com > http://www.castleproject.org > http://www.idcc.co.il - הכנס הקהילתי הראשון למפתחי דוטנט - בואו בהמוניכם > > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Development List" group. > To post to this group, send email to [email protected] > . > To unsubscribe from this group, send email to > [email protected]<castle-project-devel%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/castle-project-devel?hl=en. > -- You received this message because you are subscribed to the Google Groups "Castle Project Development List" 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-devel?hl=en.
