Rob,

Can you send me your dotTrace file? I assume you profile with BCL 
profiling on, is that correct?

Krzysztof


Rob Redmond wrote:
> Just a followup to jr76's comments.
>
> The BCL bug may not be the root cause;  the ticket on Microsoft 
> Connect identifies the check for type naming conflicts as the source 
> of the slow down.  The stack trace for the name check appears to be:
>
> System.Reflection.Emit.AssemblyBuilderData.CheckNameConflict()
> System.Reflection.Emit.TypeBuilder.Init()
> System.Reflection.Emit.TypeBuilder.ctor()
> System.Reflection.Emit.ModuleBuilder.DefineTypeNoLock()
> Castle.DynamicProxy.Generators.Emitters.ClassEmitter.CreateTypeBuilder()
> Castle.DynamicProxy.Generators.Emiitters.ClassEmitter.ctor()
> Castle.DynamicProxy.Generators.ClassProxyGenerator.BuildClassEmitter()
> Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateCode()
>
> Our DotTrace investigation doesn't indicate that there is anything 
> wrong during this construction of the ClassEmitter, so the type name 
> conflict checking doesn't appear to have much of an impact.
>
> All slowdown is observed further in ClassProxyGenerator.GenerateCode() 
> when BuildType() is called on the ClassEmitter.  BuildType() 
> ultimately makes a call 
> to: System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
> CreateTypeNoLock is the method our trace is implicating as the hog.
>
> Whether or not this is helpful remains to be seen :)  The microsoft 
> connect ticket may have misidentified the cause to the defect, or 
> perhaps DP is encountering a different defect (one that may not be so 
> out of "our" control), or I may be placing too much faith in 
> Reflector's ability to illuminate what's going on.  It at least 
> hopefully warrants a little further investigation.
>
> Rob.
>
> On Wed, Sep 23, 2009 at 6:28 PM, Jonathon Rossi <[email protected] 
> <mailto:[email protected]>> wrote:
>
>     Your issue sounds similar to:
>     
> http://support.castleproject.org/projects/DYNPROXY/issues/view/DYNPROXY-ISSUE-72
>
>     I am assuming it is caused by this BCL bug which we have no
>     control over:
>     
> https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=472622
>
>
>
>     On Thu, Sep 24, 2009 at 5:06 AM, jr76 <[email protected]
>     <mailto:[email protected]>> wrote:
>
>
>         Since moving to Dynamic Proxy 2, we have noticed that our
>         application,
>         which uses NHibernate, runs *extremely* slowly when the VS
>         debugger is
>         attached (calls that normally take about 1 second are taking
>         up to 40
>         seconds to complete).  Using dotTrace, we have tracked this
>         down to
>         the System.Reflection.Emit.TypeBuilder.CreateType() method,
>         which is
>         called by DP when it creates hibernate proxies.  We never saw this
>         behaviour with DP 1.
>
>         Any ideas what might be causing this?  Incidentally, it does not
>         happen when the debugger is attached through Task Manager - it
>         only
>         happens when the debugger is launched or attached from VS.
>
>
>
>
>
>     -- 
>     Jono
>
>
>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to